在ASP.net中的后台代码动态生成的控件没在页面上显示

现在我做一个网页版的问卷调查,要在.CS文件生成题目(lebal控件)和选项(radiobuttom控件)然后我页面什么容器也没加,运行时页面什么都没有,空白一片,什么回... 现在我做一个网页版的问卷调查,要在.CS文件生成题目(lebal控件)和选项(radiobuttom控件)然后我页面什么容器也没加,运行时页面什么都没有,空白一片,什么回事,是不是一定要加一个容器?还有一个问题就是textbox控件texmode改了password后,怎样改变在text的字符,用自己想要的字符来代替黑色圆点? 展开
 我来答
落木叶潇潇
2014-04-20 · TA获得超过466个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:117万
展开全部

实现你要的功能可以采用下面的动态生成的代码,下面是一个简单的例子

  for (int i = 0; i < 10; i++)
            {
                Label lbl = new Label();
                lbl.ID = "lbl" + i;
                lbl.Text = i.ToString();
                //定义其他属性可同上
                this.form1.Controls.Add(lbl);
            }

在上面的例子中会在页面添加10个label。值为0-9,这里使用的默认的form1添加的可以指定任意的带有runt=“server”的容器添加。另外你可以在数据库中新建一列表示要添加的空间类型contorlType,值为textbox,label,checkbox等,比较方面取值。


至于你要的验证的密码输入框代码如下 实际上和上面的没什么区别都是再添加的时候给属性进行设置

 protected void Page_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                Label lbl = new Label();
                lbl.ID = "lbl" + i;
                lbl.Text = i.ToString();
                //定义其他属性可同上
                this.form1.Controls.Add(lbl);
                TextBox txt = new TextBox();
                txt.ID = "txt" + 1;
                txt.TextMode = TextBoxMode.Password;
                this.form1.Controls.Add(txt);
            }
        }
更多追问追答
追问
添加就是可以了,谢谢了,不过现在添加了但是很乱,就好像你说的10个lebal出来了,但不会换行,我用了Respose.Write(" 
")来换行却不行,为什么?
追答
 Label lbl = new Label();
                lbl.ID = "lbl" + i;
                lbl.Text = i.ToString()+"《br/》";
                //定义其他属性可同上
                this.form1.Controls.Add(lbl);

这样写 在他的text中添加《br/》这个里面要换成 <br/>(因为百度的不支持所以才这么写的)表示换行,就可以了 其实你也可以再添加的时候给控件添加样式,然后你之前就把样式准备好也是可以的

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式