日期:2014-05-18  浏览次数:20746 次

动太生成控件 因自动刷新而消失
C# code


public partial class _Default : System.Web.UI.Page
{
    public static int kjs;

    protected void Page_Load(object sender, EventArgs e)
    {
        this.FileUpload1.Attributes.Add("onFocus=this.value", "");
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        kjs = kjs + 1;
        FileUpload fu = new FileUpload();
        string wjname;
        wjname = "fu" + kjs.ToString();
        fu.ID = wjname ;
        fu.Visible = true;
        this.Panel1.Controls.Add(fu);
        this.Panel1.Height = kjs * 20; //开始还以被给遮盖了
    }
     
}





每次都把前一个清除.之后再生成一个
用过很多方法都无法解决.就是Button的刷新太BT了
还有UpdatePane控件一放上去就出现
ID 为“UpdatePanel1”的控件需要页面上有 ScriptManager。ScriptManager 必须在任何需要它的控件之前出现。
这个错误
希望能有高人指点一二

------解决方案--------------------
哥们这样试试看
if(!IsPostBack){
this.FileUpload1.Attributes.Add("onFocus=this.value", "");
}
------解决方案--------------------
每次回发都要重新添加的哦。只要id一样,那么viewstate就记录下来。
你可以将生成控件的代码封装为函数,然后
在init事件里执行。
要看情形来判断是否添加。
------解决方案--------------------
ID 为“UpdatePanel1”的控件需要页面上有 ScriptManager。ScriptManager 必须在任何需要它的控件之前出现。
这个错误

你必须将
 <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
放到 form 控件里面,在 updatepanel 之前。