日期:2014-05-17  浏览次数:20519 次

Panel不能动态添加控件。 郁闷之!
C# code

  protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                AddFileUpLoad();
            }
        }

        private void AddFileUpLoad()
        {
            PanelFather.Controls.Add(new FileUpload() { ID = "FileUpLoad" + DateTime.Now.Millisecond + DateTime.Now.Second.ToString(), CssClass = "FileUpLoadStyle" });
        }

        protected void LinkAdd_Click(object sender, EventArgs e)
        {
            AddFileUpLoad();
        }




如图。 在页面的Load事件中可以添加, 但是在Button的Click事件中就不能为Panel添加Conrols了, Count始终是2 .奇了

怪了! 当前这个页面引用了母版页。 但是这有影响? 求助 100分 属于你!

------解决方案--------------------
服务器控件不能这样添加,除非是客户端控件。
------解决方案--------------------
javascript , jquery 创建html 标签

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function addControl()
{
document.getElementById("panel").innerHTML+="<input type='file'>";
}
</script>
</head>
<body>
<div id="panel"></div>
<input type="button" value="add File" onclick="addControl();">
</body>
</html>
------解决方案--------------------
在code中找到 container(也就是你的panel)
然后panel。controls。Add(New TextBox(“XXX”));

探讨

引用:

服务器控件不能这样添加,除非是客户端控件。

那要如何添加啊? 大哥举个例子啊 。