Как сделать скрытое поле значение в HTML-код кнопки в код позади в ASP.NET
Я создал HTML-таблицу с повторителем. В этой таблице я добавил столбец кнопок. Это HTML-кнопка, потому что кнопки ASP не работают внутри тега. Поэтому я добавил скрытое поле ASP внутри этой HTML-кнопки, чтобы получить выбранный идентификатор строки. Я попробовал несколько способов получить идентификатор из скрытого поля. Я хочу получить выбранный идентификатор строки при нажатии кнопки.
Что я уже пробовал:
Я попробовал следующее
Я пробовал этот код, но показывает ошибку в строке SendValueToSender(id);. SendValueToSender отображается красной линией с использованием предложений, которые он генерирует методом. Но когда я запускаю код и нажимаю кнопку, появляется ошибка.
button_edit_ServerClick
protected void button_edit_ServerClick(object sender, EventArgs e) { try { var btn = (HtmlButton)sender; var child = btn.FindControl("hidden"); string id = Convert.ToString(((HiddenField)child).Value); SendValueToSender(id); Response.Write("id" + id); } catch (Exception exception) { Response.Write(exception); } }
Сгенерированный метод для SendValueToSender
private void SendValueToSender(string id) { throw new NotImplementedException(); }
Ошибка-после добавления метода SendValueToSender
Система.NotImplementedException: метод или операция не реализованы. в EasyTravel.Управлять.ManageNode.SendValueToSender(строковый идентификатор) в C:\Users\kularathna\source\repos\EasyTravel\EasyTravel\Manage\ManageNode.aspx.cs:line 241 в EasyTravel.Управлять.ManageNode.button_edit_ServerClick(отправитель объекта, EventArgs e) в C:\Users\kularathna\source\repos\EasyTravel\EasyTravel\Manage\ManageNode.aspx.cs:line 229
229 - SendValueToSender(id); 241 - throw new NotImplementedException();
Метод PageLoad
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //Create Database Connection SqlConnection con = new SqlConnection("Data Source= LAPTOP-J70EHC58 ; Initial Catalog= Bus_Management_System ; Integrated Security = True ; Connect Timeout = 30 ; "); con.Open(); //Retrieve node details string sqlst = "SELECT * FROM Node "; SqlDataAdapter sqlData = new SqlDataAdapter(sqlst, con); DataTable dt = new DataTable(); sqlData.Fill(dt); rptrNode.DataSource = dt; rptrNode.DataBind(); } }
ManageNode.aspx-файл
<table id="datatable-buttons" class="table table-striped table-bordered"> <thead> <tr> <th>Node_ID</th> <th>Node_Name</th> <th>Starting_Node</th> <th>Ending_Node</th> <th>Distance_Between_Nodes</th> <th>Ticket_Price</th> <th>Action</th> </tr> </thead> <tbody> <asp:Repeater ID="rptrNode" runat="server"> <ItemTemplate> <tr> <td> <asp:Label ID="lblNodeID" runat="server" Text='<%# Eval("Node_ID") %>'></asp:Label></td> <td> <asp:Label ID="lblNodeName" runat="server" Text='<%# Eval("Node_Name") %>'></asp:Label></td> <td> <asp:Label ID="lblStartingNode" runat="server" Text='<%# Eval("Starting_Node") %>'></asp:Label></td> <td> <asp:Label ID="lblEndingNode" runat="server" Text='<%# Eval("Ending_Node") %>'></asp:Label></td> <td> <asp:Label ID="lblDistance" runat="server" Text='<%# Eval("Distance_Between_Nodes") %>'></asp:Label></td> <td> <asp:Label ID="lblTicketPrice" runat="server" Text='<%# Eval("Ticket_Price") %>'></asp:Label></td> <td> <button runat="server" clientidmode="Static" class="btn btn-success" id="button_edit" onserverclick="button_edit_ServerClick"> <asp:HiddenField runat="server" ID="hidden" Value='<%#Eval("Node_ID") %>' /> Edit </button> </td> </tr> </ItemTemplate> </asp:Repeater> </tbody> </table>
Колонка Кнопок(Это находится в приведенном выше ManageNode.aspx)
<td> <button runat="server" clientidmode="Static" class="btn btn-success" id="button_edit" onserverclick="button_edit_ServerClick"> <asp:HiddenField runat="server" ID="hidden" Value='<%#Eval("Node_ID") %>' />Edit </button> </td>