【问题标题】:Reading a dropdownlist from GridView从 GridView 读取下拉列表
【发布时间】:2011-09-07 07:16:58
【问题描述】:

我有一个gridview,其中一个fielddropdownlist.. 我正在尝试阅读dropdownlist 中的values,但列表中的第一项始终是selected..

这段代码在gridview里面:

<asp:TemplateField HeaderText="Bank">
   <ItemTemplate>
         <asp:DropDownList ID="DropDown" runat="server" OnLoad="dropdownLoad" />
            </ItemTemplate>
        </asp:TemplateField>

在后端,我使用以下代码:

DropDownList ddl = (DropDownList)GridView1.Rows[0].Cells[7].FindControl("DropDown");
string s1 = ddl.SelectedValue;

我该怎么办?

【问题讨论】:

  • 您的意思是即使更改了选择后它也会显示第一项?
  • @V4Vendetta 是的...我从列表中选择了一个不同的项目,当我单击一个按钮来读取输入的值时,它将始终显示列表的第一个值而不是选定的价值...
  • 你能添加代码 sn-p 来说明你是如何分配数据的吗
  • @V4Vendetta 首先我使用 Oracle Data Reader 检索表...将该数据转换为数据表并将该数据表与 gridview 绑定... OracleDataReader reader = BusinessLayer.BusinessLayerHandler.GetPendingRemittance();数据表临时表 = 新数据表(); tempTable.Load(读者); GridView1.DataSource = tempTable; GridView1.DataBind();
  • 那么它们是否在if(! IsPostBack) 子句中?

标签: c# asp.net gridview drop-down-menu


【解决方案1】:

试试这个代码..

        GridViewRow row = (GridViewRow)((Control)sender).NamingContainer;
        DropDownList drp = (DropDownList)row.FindControl("drp");
        lbl.Text = drp.SelectedValue;

【讨论】:

    【解决方案2】:

    不要在特定单元格中搜索。相反,我建议您在它自己的行中搜索下拉列表。

    所以代码应该是这样的:

    DropDownList ddl = GridView1.Rows[0].FindControl("DropDown") as DropDownList;
    

    干杯。

    【讨论】:

      猜你喜欢
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多