动态添加复选框asp.net(csharp)并在回发时保留其值

时间:2011-12-23 09:59:03

标签: c# asp.net

我需要将动态复选框列表添加到网页的一部分。 我还需要在回发后保留其价值。 应该怎么做?

3 个答案:

答案 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

}

如果您需要在客户端执行此操作,您可以使用隐藏字段(服务器端)来跟踪复选框中选择的值,或者像其他人已在此处告知的那样使用请求。