将Dynamic cotrol添加到aspx页面

时间:2016-02-01 06:21:30

标签: c# asp.net

我想动态地在表头中添加复选框,我已经动态创建了它们的ID但是如何在Aspx页面上打印它????

 <table border="1">
            <thead>
                <%string j = " Check"; %>
                <%for (int i = 0; i < 10;i++ )
                  {%>


                <th style="padding:2px; width:500px;">Table Head<br /><br />
                   <%
                      CheckBox chk = new CheckBox();
                      chk.ID = i + j;
                      chk.Text = "I am "+ i+j;



                         %>
                    <%=chk %>
                </th>


                <%} %>

            </thead>
        </table>

3 个答案:

答案 0 :(得分:1)

<input type="checkbox" id='<%=i%>' name="allcheck">

使用ASP.NET Web Form,请多使用HTML标签,不是这样的:)

CheckBox chk = new CheckBox();
chk.ID = i + j;
chk.Text = "I am "+ i+j;

例如: aspx页面:

<input type="hidden" id="userid" value='<%=userid>'/>
<input type="checkbox" id='<%=i%>' name="allcheck" /> with for 

使用jquery的js代码:

function delete()
var id_array = new Array();
$('input[name="allcheck"]:checked').each(function () {
    id_array.push($(this).attr('id'));
});
var idstr = id_array.join(',');
$.ajax({
    method:"POST",
    url: "services/delete",
    data: {
        userid: $("#userid").val(), ids: idstr
    }
})

与ashx:

public void ProcessRequest(HttpContext context)
{
    context.Response.ContentType = "text/plain";
    context.Response.Cache.SetNoStore();
    string userid = "";
    string ids = "";
    try
    {
        string userid = context.Request.QueryString["userid"];
        string ids = context.Request.QueryString["ids"];
        //then do your things
    }
    catch (Exception)
    {
        throw;
    }
}

答案 1 :(得分:1)

希望它可以帮助您解决问题。

前端

<body>
    <form id="form1" runat="server">
    <table>
        <thead id="test" runat="server">

        </thead>
    </table>
    </form>
</body>

后端

protected void Page_Load(object sender, EventArgs e)
  {
            CheckBox cb = new CheckBox();
            cb.ID="****";
            test.Controls.Add(cb);
  }

答案 2 :(得分:0)

如果您使用的是ASPX页面,则只需使用GirdViewDataListRepeater等任何控件。

您放置了checkbox,它会创建dynamic ID Automatically,您可以轻松地在后端编码中找到该控件。

例如,请查看以下链接。

http://www.asp.net/web-forms/overview/data-access/displaying-data-with-the-datalist-and-repeater/displaying-data-with-the-datalist-and-repeater-controls-vb

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.repeatlayout(v=vs.110).aspx