添加ASP:带有来自服务器端的表中事件的按钮

时间:2017-04-19 09:22:19

标签: javascript c# asp.net

我正在尝试对现有表实现删除功能(按钮)。我不能改变它的完成方式,所以我需要做一个字符串构建器。无论如何,你可以制作一个asp:按钮或只是一个按钮,它将在一个字符串构建器中触发和事件onclick?只需将其添加到stringbuilder就可以将其渲染为纯HTML而不是控件。

我尝试了什么:

  foreach (SortableNode n in nodes)
  {
    html.AppendLine(
      "<tr id='" + NodeIdName() + n.id.ToString() + "' " + (n.sortOder == 0 ? " class='sortsep'" : "") + ">" +
        "<td>" + n.Name + "<input type='hidden' name='" + NodeIdName() + n.id.ToString() + "' id='" + NodeIdName() + n.id.ToString() + "' value='" + n.id.ToString() + "' /></td>" +
        "<td class='nowrap'>" + n.createDate.ToString("yyyy-MM-dd HH:mm:ss") + "</td>" + 
        "<td style='text-align: center;'>" + n.sortOder + "</td>" + 
        "<td><asp:Button id=\"BuTOTNON" + counter +"\" cssClass=\"btnDelLink\" runat=\"server\" CommandArgument=\"" + n.id + "\" OnClick=\"bDelete_Click\" Text='X'/>" + "</td>" + 
      "</tr>");
  }
      lt_nodes.Text = html.ToString();

或者用JS做这个客户端的简单方法?

1 个答案:

答案 0 :(得分:0)

对于任何发现这一点的人来说,香港专业教育学院使其成功,但取代了&#34; lateral placeholder&#34;与实际的砂土持有人一样,并做到了这样:

  foreach (SortableNode n in nodes)
  {

    Button deleteBtn = new Button();
    deleteBtn.Text = "X";
    deleteBtn.Click += new EventHandler(bDelete_Click);
    deleteBtn.ID = n.id.ToString();

    html.AppendLine(
    "<tr id='" + NodeIdName() + n.id.ToString() + "' " + (n.sortOder == 0 ? " class='sortsep'" : "") + ">" +
      "<td>" + n.Name + "<input type='hidden' name='" + NodeIdName() + n.id.ToString() + "' id='" + NodeIdName() + n.id.ToString() + "' value='" + n.id.ToString() + "' /></td>" +
      "<td class='nowrap'>" + n.createDate.ToString("yyyy-MM-dd HH:mm:ss") + "</td>" +
      "<td style='text-align: center;'>" + n.sortOder + "</td><td>"
    );

    PlaceHolder1.Controls.Add(new LiteralControl(html.ToString()));
    PlaceHolder1.Controls.Add(deleteBtn);
    PlaceHolder1.Controls.Add(new LiteralControl("</td></tr>"));
  }