【问题标题】:asp.net: How to better load Details view fields programmatically instead of copy/pasteasp.net:如何以编程方式而不是复制/粘贴更好地加载详细信息视图字段
【发布时间】:2009-04-27 03:32:18
【问题描述】:

我对每个查找表都有以下代码。到目前为止,我正在为每个下拉列表控件进行复制/粘贴。但我认为有更好的方法来做到这一点。我应该能够指定 DataTextFieldDataValueField、控件名称等。当然,我将不得不在数据库端手动添加与配置相关的数据库值,例如查找表,以及存储过程中的其他更改。但是在.aspx 页面或.cs 页面上,必须有比复制/粘贴更好的方法..

</asp:TemplateField> 
 <asp:TemplateField HeaderText="Your Ethnicity">
    <EditItemTemplate>
        <asp:DropDownList ID="ddlEthnicity" runat="server" 
            DataSourceid="ddlDAEthnicity"
            DataTextField="Ethnicity" DataValueField="EthnicityID"
            SelectedValue='<%#Bind("EthnicityID") %>'>
        </asp:DropDownList>
    </EditItemTemplate>
    <ItemTemplate >
        <asp:Label Runat="server" Text='<%# Bind("Ethnicity") %>' 
            ID="lblEthnicity">
        </asp:Label>
    </ItemTemplate>
</asp:TemplateField>     

【问题讨论】:

    标签: asp.net detailsview


    【解决方案1】:

    要从数据库中驱动下拉控件中的内容,您可以根据您的架构使用许多不同的 DataSource 来绑定它们。

    这是一个简单的例子(将列表框更改为下拉列表):

     <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataReader"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT LastName FROM Employees">
      </asp:SqlDataSource>
    
      <asp:ListBox
          id="ListBox1"
          runat="server"
          DataTextField="LastName"
          DataSourceID="SqlDataSource1">
      </asp:ListBox>
    

    【讨论】:

      【解决方案2】:

      我认为自定义控件应该可以帮助您解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-27
        • 1970-01-01
        • 1970-01-01
        • 2018-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多