【求助】dropdownlist取值问题

hqtlvv 2013-01-10 09:14:32
for(int i=0;i<shr.Length;i++)
{
string[] shr1 = shr[i].Split(',');
tc = new TableCell();
tc.Wrap = false;//不换行
DropDownList dd = new DropDownList();
string id = "shr" + i;
dd.ID = id;
dd.DataTextField = common.GetRealName(shr[i]);
dd.DataValueField = shr[i];
//dd.DataSource = shr1;
dd.DataBind();
dd.Items.Insert(0, new System.Web.UI.WebControls.ListItem("-未选择-", "0"));
for (int j = 0; j < shr1.Length; j++)
{
dd.Items.Insert(j + 1, new System.Web.UI.WebControls.ListItem(common.GetRealName(shr1[j]),shr1[j] ));
//dd.SelectedValue = shr1[j];
}


DropDownList是在循环中绘制的 怎么取这些DropDownList的值
...全文
219 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangdaowu5 2013-01-15
  • 打赏
  • 举报
回复
后台操作将数据处理好放在dt里面,然后new一个dropdownlist然后直接绑定这样不显得更简单点。
  • 打赏
  • 举报
回复
PageLoad记载时把生成DropDownList的过程都走一次 然后在获取的时候就可以通过 this.FindControl("shr"+i.ToString()) as DropDownList这种方式来获取到了 因为net会自动维护ViewState,相同id的control会被分配到相对应的ViewState
  • 打赏
  • 举报
回复
感觉楼主的代码有问题 有这样用dropdownlist的么
「已注销」 2013-01-11
  • 打赏
  • 举报
回复
由于你是JS构造的 后台是取不到值的 你在切换(onchange事件) DropDownList 值时 给他把值 赋到隐藏文本域
<input type="hidden" id="DID" runat="server" />
然后在后台获取 DID的值就行了
是你_不懂 2013-01-11
  • 打赏
  • 举报
回复
  foreach (ListItem item in DropDownList1.Items)
                {
                    int mid = Convert.ToInt32(item.Value);
                    var res = (from a in dc.VM_SYS_Menu
                               where a.MenuID == mid
                               select a).FirstOrDefault();
                    if (res.FunctionName != "内容")
                    {
                        item.Attributes.Add("disabled", "disabled");
                    }
                }
                DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText(sslmMenu.Text));
Ryan20082009 2013-01-11
  • 打赏
  • 举报
回复
public void Warehouse_NameBind() { HQSoft.HQBLL.TB_Warehouse tb = new HQBLL.TB_Warehouse(); this.DropDown_WarehouseName.DataSource = tb.Warehouse_Liebiao(); this.DropDown_WarehouseName.DataTextField = "WarehouseName"; this.DropDown_WarehouseName.DataValueField = "WarehouseNo"; this.DropDown_WarehouseName.DataBind(); }
zhangwenjie1105 2013-01-11
  • 打赏
  • 举报
回复
放在容器中 可以是 asp table 然后 findcontrolbyid("")
yyl8781697 2013-01-10
  • 打赏
  • 举报
回复

foreach(ListItem item in this.DropDownList1.Items)
            {
                Response.Write(string.Format("text:{0},value:{1}", item.Text, item.Value));
            }
这样试试
  • 打赏
  • 举报
回复
JS遍历 后台可以直接遍历下拉框所在的容器中所有控件,强制转换一下,然后得到具体的值
hqtlvv 2013-01-10
  • 打赏
  • 举报
回复
引用 1 楼 zhouqinghe24 的回复:
小气鬼,才20分
这是个小问题
yue547283947 2013-01-10
  • 打赏
  • 举报
回复
js $("input[type='select']")
瑞卡哥哥 2013-01-10
  • 打赏
  • 举报
回复
小气鬼,才20分
orain 2013-01-10
  • 打赏
  • 举报
回复
在后台,可以通过 Request.Form[Select的Name] 获取到前端 <Select> 提交后的值。DropDownList 到前端后会转换为 <Select>,所以你只要知道 DropDownList 在前端生成的 <Select> 的 Name 值,就可以获取到其选择的值了。前端的 Name 值与后端的 ID 值有对应关系,但并不一定会相等,这里涉及到一个命名容器的问题,不过,只要在将 DropDownList 插入到实际的页面位置后,就可以通过 DropDownList.UniqueID 获取到 Name 值了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧