0

我想添加动态控件

像下面的图片我想做

我正在努力做到这一点

如果我单击“添加更多体验”按钮,我想显示另一行

在此处输入图像描述

我尝试使用用户控制,但它无法正常工作。

下面的代码工作正常,但如果我添加控件然后关闭浏览器页面然后再次打开浏览器添加控件即将到来。

我认为问题是 static int i=0;

static int i = 0;
    protected void addnewtext_Click(object sender, EventArgs e)
    {
        i++;
        for (int j = 0; j <= i; j++)
        {
            AddVisaControl ac = (AddVisaControl)Page.LoadControl("AddVisaControl.ascx");
            placeHolder.Controls.Add(ac);
            placeHolder.Controls.Add(new LiteralControl("<BR>"));
        }
    }

请提供您的想法?提前致谢

4

1 回答 1

0

根据我的评论,在 ASP.Net 页面中使用静态变量时,它将在所有用户之间共享,直到应用程序池或服务器重新启动。

相反,您应该真正使用 ViewState 或类似的东西来读/写值。

private int controlCount
{
    get 
    {
        int val = 0;
        try
        {
            val = (int)Page.ViewState["ControlCount"];
        }
        catch(Exception e)
        {
            // handle exception, if required.
        }
        return val;
    }
    set { Page.ViewState["ControlCount"] = value; }
}
protected void addnewtext_Click(object sender, EventArgs e)
{
    int i = controlCount++;
    for (int j = 0; j <= i; j++)
    {
        AddVisaControl ac = (AddVisaControl)Page.LoadControl("AddVisaControl.ascx");
        placeHolder.Controls.Add(ac);
        placeHolder.Controls.Add(new LiteralControl("<BR>"));
    }
}
于 2013-09-24T10:51:19.103 回答