首页 > 解决方案 > 添加动态按钮点击事件c#

问题描述

使用 json 数据,创建了一个带有 for 循环的表并在不同条件下添加了动态按钮,正在寻找如何为所有按钮添加一个 onclick 事件并获取单击按钮值或 id 的值。

谢谢您的帮助

dynamic jsondata = JsonConvert.DeserializeObject(responseData);
    for (int i = 0; i < jsondata.val.Count; i++)
        {
           htmlTable.AppendLine("<tr>");
           htmlTable.AppendLine("<td>"+jsondata.val[i].id+"</td>");
           htmlTable.AppendLine("<td>"+jsondata.val[i].Name+"</td>");
           htmlTable.AppendLine("<td>"+jsondata.val[i].desc+"</td>");
    
            string getStatus = GetStatus(url);
            if(getStatus=="0")
                  htmlTable.AppendLine("<td>" + "<input id='ctb"+i+ "' type='button' value='START'></td>");
            else if(getStatus=="1")
                   htmlTable.AppendLine("<td>" +"<input id='ctb"+i+ "' type='button' value='STOP'></td>");
            else
                   htmlTable.AppendLine("<td>" + "<label> Error Occured </label></td>");
    
            htmlTable.AppendLine("</tr>");
          }
     htmlTable.AppendLine("</table>");
     litTable.Text = htmlTable.ToString();

标签: c#asp.net

解决方案


这是一个简单的演示,但您也可以在您的场景中执行相同的操作。我刚刚在 WebForm 中实现了这个示例。如果我错了,请发表评论。

public partial class Sample : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            divContainer.InnerHtml = "<div id='mysamplecontrol' onclick='thisismyclick(this);'>Start</div>";
        }
    }
 <form id="form1" runat="server">
         <div runat="server" id="divContainer"></div>
        <script>
            function thisismyclick(control) {
                alert(control.id);
            }
        </script>
    </form>

推荐阅读