在aspx页面中动态创建一个按钮

时间:2015-10-18 07:43:21

标签: html asp.net

我想在我的asp形式中制作一些元素,如下所示,遗憾的是输入按钮不起作用,“btnsave_ServerClick”不会发射! 任何人都有想法吗?

<div class="clear"></div>
<%
    string matn="";
    System.Data.DataTable ds = new System.Data.DataTable();
    try
    {
       // databaselinker is a class which is connected to the database
        databaselinker link = new databaselinker();
       // id is QueryString parameter
        ds = link.selectplan(id);
    }
   catch (Exception Ex) { }
   int i=0;
    foreach (System.Data.DataRow DRow in ds.Rows)
    {

        TableRow tRow = new TableRow();
        matn += "<div class='frame' id='frame" + DRow["PlanID"] + "'>";
        matn += " name <input id='Text1' type='text' /> * ";
        matn += "</br>";
        matn += "Family  <input id='Text2' type='text' /> * ";
        matn += "<input id='Button1' type='button' value='Save'   runat='server' onServerClick='btnsave_ServerClick' />";

        matn += "</div>";
        i++;

    }

    Response.Write(matn);

      %>

1 个答案:

答案 0 :(得分:0)

在此行中键入buttonstring

matn += "<input id='Button1' type='button' value='Save'   runat='server' onServerClick='btnsave_ServerClick' />";

asp.net对该按钮一无所知,即使您有runat=仍然是一个字符串。

使用

渲染该字符串时
Response.Write(matn);

asp.net编译response.write但不编译你渲染的字符串。

这就是不工作而不是火的原因。 要使其工作,您需要动态创建它。

关于如何做的一些例子:
HOW TO: Dynamically Create Controls in ASP.NET by Using Visual C# .NET
Dynamic Controls Made Easy in ASP.Net
Persistent dynamic control in ASP.Net