1

Aspx ページの Foreach ループで、 datatable からチェックボックスとラベルの値を追加する方法。チェックされたすべてのチェックボックスの値を受け取ります。

このコードは、 aspx.cs ではなく aspx ページに記述しました。

<% foreach (Employee myEmp in _empList)  {
       empName = myEmp.ToString();  %>

<div class="abc">
    <div class="pqr"> 
            <asp:Label Text="<% empName %>" runat="server"  ID="lblEmpName"></asp:Label></label> 
      </div>
    <div class="xyz">
        <asp:CheckBox ID="chkBox"  Checked="false" runat="server" />
    </div>                      
</div>
<%  }   %>
4

3 に答える 3

1

あなたはこのようなことをすることができます:

 List<user> userList = new List<user>();

        foreach (user usr in userList)
        {
            PlaceHolder1.Controls.Add(new CheckBox()
                                          {
                                              ID = "cb_"+usr.UserId,
                                              Text = usr.Name,
                                              });    
        }
于 2013-02-06T13:14:38.347 に答える
1

コントロールをasp.netページに動的に追加する最良の方法はoninit page-eventだと思います。

このようなことを試してみてください。

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        /*LinkButton lb = new LinkButton();
        lb.ID = "lbAddFilter";
        pnlFilter.Controls.Add(lb);
        lb.Text = "Add Filter";
        lb.Click += new EventHandler(lbAddFilter_Click);*/

        // regenerate dynamically created controls
        foreach ( var employee in employeeList)
        {
            Label myLabel = new Label();
            // Set the label's Text and ID properties.
            myLabel.Text = "Label" + employee.Name.ToString();
            myLabel.ID = "Label" + employee.ID.ToString();

            CheckBox chkbx = new CheckBox();
            chkbx.ID = "CheckBox" + employee.ID.ToString();
            chkbx.Text =  "Label" + employee.Name.ToString();

            MyPanel.Controls.Add(myLabel);
             MyPanel.Controls.Add(chkbx); 
        }
    }
于 2013-02-06T13:33:21.277 に答える
1

ラベルの:orが足りないだけだと思います。する必要があります。html をエンコードし、js インジェクションを回避するために使用します。VSの詳細_=<%<%::=:

<% foreach (Employee myEmp in _empList)  {
    empName = myEmp.ToString();  %>
    <div class="abc">
        <div class="pqr"> 
            <asp:Label Text="<%: empName %>" runat="server"  ID="lblEmpName"></asp:Label> 
        </div>
        <div class="xyz">
            <asp:CheckBox ID="chkBox"  Checked="false" runat="server" />
        </div>                      
    </div>
<% } %>
于 2020-04-23T13:03:28.140 に答える