【发布时间】:2013-12-18 11:39:26
【问题描述】:
<div class="controls">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<h1>Create a new event
<asp:TextBox ID="EventName_TB" runat="server" CssClass="control-label"></asp:TextBox>
starting on
<asp:TextBox ID="StartDate_TB" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span2 input-xlarge datepicker" placeholder="mm/dd/yy"></asp:TextBox>
for
<asp:DropDownList ID="EventDuration_DDL" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span1" AutoPostBack="true">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
</asp:DropDownList>
days. </h1>
</ContentTemplate>
</asp:UpdatePanel>
</div>
这是我的 C# 代码
private void EventDuration()
{
Labeldiv.Controls.Clear();
DateTime dt = DateTime.Parse(StartDate_TB.Text);
int Duration = Int32.Parse(EventDuration_DDL.SelectedItem.ToString());
UpdatePanel up = new UpdatePanel();
up.ID = "UpdatePanel8";
up.UpdateMode = UpdatePanelUpdateMode.Conditional;
for (int id = 0; id < Duration; id++)
{
Label NewLabel = new Label();
NewLabel.ID = "Label" + id;
var eventDate = dt.AddDays(id);
NewLabel.Text = eventDate.ToLongDateString();
CheckBox newcheck = new CheckBox();
newcheck.ID = "CheckBox" + id;
newcheck.AutoPostBack = true;
newcheck.CheckedChanged += new EventHandler(newcheck_CheckedChanged);
up.ContentTemplateContainer.Controls.Add(NewLabel);
this.Labeldiv.Controls.Add(NewLabel);
up.ContentTemplateContainer.Controls.Add(newcheck);
this.Labeldiv.Controls.Add(new LiteralControl("<br/>"));
}
this.Labeldiv.Controls.Add(up);
}
实际上,在我动态创建更新面板之前,它会根据我的情况给出标签和复选框...
它只提供一个标签和一个复选框。这是动态创建更新面板的正确方法吗?
【问题讨论】: