#javascript #c# #jquery
#javascript #c# #jquery
Вопрос:
Я использую ASP.NET C #. У меня есть Gridview (пример показан ниже gridview) и кнопка. Когда я нажимаю на строки в gridview, текст моей кнопки должен меняться в зависимости от информации в gridview.
Например: если я нажимаю на первую строку, текст моей кнопки должен быть Альфа (название операции). Если я нажму на третью строку, на ней должен быть Чарли и так далее. Пользователь может щелкнуть любую строку любое количество раз, и кнопка должна меняться при каждом новом нажатии.
Я научился использовать OnRowDataBound и событие SelectedIndexChanged в gridview, чтобы поиграть со значением в gridview. Я смог распечатать каждую строку gridview с помощью меток.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(GridView2, "Select$" e.Row.RowIndex);
e.Row.ToolTip = "Click to select this row. ";
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
if (row.RowIndex == GridView1.SelectedIndex)
{
row.BackColor = ColorTranslator.FromHtml("#A1DCF2");
row.ToolTip = string.Empty;
String ID;
alertNo = row.Cells[0].Text;
String Operation;
Operation = row.Cells[1].Text;
String Month;
Month = row.Cells[2].Text
}
else
{
row.BackColor = ColorTranslator.FromHtml("#FFFFFF");
row.ToolTip = "Click to select this row";
}
}
Label1.Visible = true;
Label2.Visible = true;
Label3.Visible = true;
}
Однако я не понимаю, как я могу изменить текст кнопки, используя этот метод.
Буду признателен за любую помощь (Javascript / jQuery / C #). Пожалуйста, дайте мне знать, если вопрос в любом случае неясен.
Комментарии:
1. Добро пожаловать в Stack Overflow! У вас есть идентификатор кнопки, который вы можете использовать в качестве ссылки? Вы хотите сделать это с помощью Javascript? Если это так, вы можете найти элемент по идентификатору и манипулировать текстом.
Ответ №1:
В вашем коде C # вы можете попробовать следующее:
String Operation;
Operation = row.Cells[1].Text;
Button1.Text = Operation; // Add this line just after you get the Operation value
Вы можете сделать это лучше / быстрее с помощью Javascript / jQuery, но поскольку у вас уже есть большая часть, использующая C #.
РЕДАКТИРОВАТЬ 1: Вот рабочий пример чистого jQueryhttps://jsfiddle.net/gy31Lufr/2 /.
Ответ №2:
Ваш HTML должен иметь атрибут id, связанный с каждой кнопкой, что-то вроде этого ;
<button id="button2" name="Click button two!" type="button" > Click button two! </button>
...
<button id="buttonN" name="Click button N!" type="button" > Click button N! </button> ```
Now in the JQuery code , you can do a DOM traversal ,example;
$("#button1").click(function(){
this.attr("name","Alpha (Operation name)");
});
$("#button2").click(function(){
this.attr("name","Charlie on it");
});
This is a solution based on HTML and Jquery , the key ingredient is for every button to have an unique ID.