Asp.Net SqlDataSource将两列一起绑定到ASPX中的一列中

时间:2016-10-05 02:14:42

标签: sql asp.net connection-string sqldatasource selectcommand

我有一个<asp:SqlDataSource使用连接字符串连接到数据库但是我希望将两列合并在一起以创建1列,例如:

Column: First Name
Column: Last Name

创建:

Column: Full Name

我很难在aspx中找到如何做到这一点,但很容易直接在页面中找到这个。

我的Sql数据源如下:

<asp:SqlDataSource ID="databaseWork" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT  [FirstName],[LastName] FROM [People]">
    </asp:SqlDataSource>

我想将它们放在下拉列表中。我的下拉列表是:

<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FirstName' DataValueField="ID">
</asp:DropDownList>

无论我做了什么似乎都没有用,我去了多个站点并尝试了很多东西但是我自己想出来我可以修改SQL查询并创建我自己的列而不是将字段连接在一起用过它们。

我正在为自己的问题添加一个答案,因为我相信这对那些想要相同结果的人会非常有帮助。

2 个答案:

答案 0 :(得分:0)

我所做的事情变得非常简单,可以实现一个有2个或更多列一起创建的列。

我的SqlDataSource如下:

<asp:SqlDataSource ID="databaseWork" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT [FirstName] + ' ' + [LastName], AS [FullName] FROM [People]">
</asp:SqlDataSource>

现在,当它在DropDown列表或网格视图中用作列时,您只需调用我们创建的新列。

下拉列表示例:

<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FullName' DataValueField="ID">

使用列示例的网格视图:

<asp:GridView
  ID="gridPeople"
  runat="server"
  DataSourceID="databaseWork"
  AllowPaging="True" 
  AllowSorting="True" 
  AutoGenerateColumns="False" PageSize="50">

    <Columns> 
        <asp:BoundField DataField="FullName" HeaderText="Full Name Column"  SortExpression="FullName" />

    </Columns>

</asp:GridView>

不是试图在下拉列表或网格视图中添加两列来创建一个列,而是在SQL查询本身中创建列并简单地调用它,这样更好更容易。现在,当我们调用FULL Name时,我们会得到这样的结果:

  1. John Smith
  2. Hannah Montanna
  3. 希望这可以帮助你,因为我被困在这上面,并且可以找到一个正确的答案,如何直接在网页而不是服务器端解决这个问题。

答案 1 :(得分:0)

的SqlDataSource

"SELECT [ID], [FirstName]+' '+[LastName] AS [FullName] FROM [People]"

注意查询<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FullName' DataValueField="ID">

For Dropdown

  $("#result").css("color","green"); //change text color