永发信息网

Asp.net动态添加控件

答案:4  悬赏:10  手机版
解决时间 2021-03-07 07:25
  • 提问者网友:你独家记忆
  • 2021-03-06 23:44
Asp.net通过数据库的信息动态添加ListBox以及ListBox中的内容。
现在我是通过动态new 然后Add到那个面板中,这样的话可以实现动态添加,但是说如果我通过下面一个按钮触发事件 然后在事件中写代码获取你选择的内容,但是获取不到,每次都是获取的第一个,不是isPostBack问题,如果那么简单我也不会问了,大家帮我想想
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-03-07 01:19
protected void Page_Load(object sender, EventArgs e)<br>    {<br>    //  if (!IsPostBack)<br>    // {<br>    ListBox lis = new ListBox();<br>    lis.ID = "listSele";<br>    lis.Items.Add(new ListItem("选择1","1"));<br>    lis.Items.Add(new ListItem("选择2", "2"));<br>    lis.Items.Add(new ListItem("选择3", "3"));<br>    lis.SelectedIndexChanged += new EventHandler(ListBoxChangage);<br>    lis.AutoPostBack = true;<br>    Div.Controls.Add(lis);<br>    //    }<br>    }<br>    protected void ListBoxChangage(object sender, EventArgs e)<br>    {<br>    string str;<br>    ListBox lis = sender as ListBox;<br>    str = lis.SelectedItem.Text;<br>    Page.ClientScript.RegisterStartupScript(this.GetType(), "2", "&lt;script&gt;alert('"+str+"');&lt;&#47;script&gt;");<br>    }这样做问题存在于如果放在!IsPostBack里面 当数据回传的时候这个控件就会消失 从而触发不了事件
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-03-07 03:31
是这样的.不光是B/s里.连C/s里都是这样.通过按钮事件是获取不到数据的.你只能这样.通过操作两个,DataTable把行赋值给ListBox.然后把DataTable删除一行.另一个DataTable添加一行,于此同时操作两个ListBox,说白点就是,手动实现两边数据交互,ListBox只是用于简单的显示作用,真正的操作是通只手动操作两个DataTable来实现数据交互的,不晓得,您看懂了米 .- -.你还好呗哩.最近..怎么实然搞起这个来哩.?
  • 2楼网友:鸽屿
  • 2021-03-07 03:03
ListBox lb=new ListBox(); lb.items.add(new listItem('','')); div.control.add(lb); 自己看看吧,是这样搞的....
  • 3楼网友:北方的南先生
  • 2021-03-07 02:55
textbox tb = new textbox();   //然后把tb属性设一下    pl.controls.add(lb);//pl为一个panel容器。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯