我需要将动态复选框列表添加到网页的一部分。 我还需要在回发后保留其价值。 应该怎么做?
答案 0 :(得分:1)
如果你想在回发时使用它们的值,你必须在page_init中添加任何动态控件。
例如:
void Page_Init(object Sender, System.EventArgs e)
{
var oList = new CheckBoxList();
// Populate the values in the list
this.Controls.Add(oList);
}
答案 1 :(得分:1)
如果你动态添加checkboxlist - 你的帖子会有问题 - 因为生成的html不像发布的那样 - 所以你需要在页面标签中禁用页面验证。
之后 - 你将能够在asp.net中检索值:Request.Form [name ...]
答案 2 :(得分:0)
您应该阅读有关ASP.NET页面生命周期的内容,以更好地了解ASP.NET行为。 在这种情况下,您需要在PreInit中添加动态控件,如果您需要一些其他行为,如主题等。否则,您可以使用Init Event添加动态控件。无论如何,Microsoft建议使用PreInit“创建或重新创建动态控件。”。
您可以在here。
中找到这些信息当然,我说的是使用服务器端来做这件事。
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
//add checkbox here
}
如果您需要在客户端执行此操作,您可以使用隐藏字段(服务器端)来跟踪复选框中选择的值,或者像其他人已在此处告知的那样使用请求。