【问题标题】:Passing a DataValueField of a nested Drop Down List to an Update SQL command将嵌套下拉列表的 DataValueField 传递给更新 SQL 命令
【发布时间】:2014-07-31 09:21:42
【问题描述】:

我有一个嵌套在 FormView 的编辑模式中的动态下拉列表。用户可以从 DDL 中选择一个值,然后单击更新按钮来更新数据库中的一行。

  <EditItemTemplate>
 <asp:DropDownList ID="priorityLanguage_DDL" runat="server" DataSourceID="SqlDataSource_Languages" DataTextField="language" DataValueField="ID_language" selectedvalue='<%# Eval("priorityLanguage") %>'>        
 </asp:DropDownList> 

<asp:LinkButton class="btn btn-default" ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update" onclick="UpdateButton_click"/>
</EditItemTemplate>

<asp:SqlDataSource ID="SqlDataSource_membersDetails" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" 
           SelectCommand="SELECT * FROM [editorDetail] WHERE [IDuser]= @IDowner" 
    UpdateCommand="UPDATE [priorityLanguage] = @priorityLanguage_ddl_par WHERE [ID_editorDetail] = @ID_editorDetail">

<UpdateParameters>
                  <asp:Parameter Name="priorityLanguage_ddl_par" Type="Int32" />
               </UpdateParameters>
</asp:SqlDataSource>

我的问题是如何将 DDL 的 DataValueField 传递给更新命令。我试图直接在内容页面上传递值,但我无法导致 DDL 嵌套在 FormView 中,因此无法找到 controlID。

我也尝试了后面的代码,但我没有设法将 int32 传递给参数 DefaultValue。

protected void UpdateButton_click(object sender, EventArgs e)
    {   

        DropDownList priorityLanguage_DDL = FormView3.FindControl("priorityLanguage_DDL") as DropDownList;
        SqlDataSource_membersDetails.UpdateParameters["priorityLanguage_ddl_par"].DefaultValue = (priorityLanguage_DDL.DataValueField);               

    }   

我做错了什么???

【问题讨论】:

    标签: c# asp.net formview sqlparameter


    【解决方案1】:

    您需要dropdownlist.SelectedValuedropdownlist.SelectedItem.Value 而不是priorityLanguage_DDL.DataValueField DataValueField 用于将数据源的列名分配给DataValue 字段。它将为您提供列名,但为下拉列表中选定项目的该列的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多