8

是否可以在 DataValueField 中放置多个值?

例如,使用以下代码:

<asp:DropDownList ID="ixTeam" CssClass="ixTeam" runat="server" DataSourceID="dsixTeam" 
 DataValueField="TeamID" DataTextField="TeamName" AppendDataBoundItems="true">

我可以将两个值(例如TeamID + "|" + TeamTypeID)放入 DataValueField 吗?

4

4 回答 4

14

您不能在 中组合两个字段DataValueField,但您可以尝试几件事。

  1. 您可以使用连接构建 SQL 查询,(如果您从数据库中获取数据)

SQL查询:

Select (TeamID +"|"+ TeamTypeID) as CombinedTeam, .....`

然后设置

DataFieldValue = "CombinedTeam"

或者

  1. 您可以使用 LINQ 查询基于两个字段的串联创建匿名类型。

例如:

var query = from t in yourDataSource
            select new 
            {
                 CombinedTeam = t.TeamID + "|" + t.TeamTypeID,
            } 

然后指定下拉到 LINQ 查询的数据源,并指定DataFieldValue

yourDropDownList.DataSource = query;
yourDropDownList.DataFieldValue = "CombinedTeam";
于 2012-07-30T04:34:36.580 回答
4

简短的回答是你不能。

相反,在您的数据集中创建一个计算列,该列具有TeamID + '|' + TeamTypeID其表达式(您也可以在获取数据时执行此操作,将格式化的显示列添加到您的选择查询,假设您使用的是数据库),然后绑定该列。

于 2012-07-30T04:34:07.693 回答
3

是的,这是可以做到的。在从 SQL Server 检索时格式化您的数据,如下所示:

Select TeamID + ' | ' + TeamTypeID CombinedColumn

现在设置DataValueField=CombinedColumn

于 2012-07-30T04:36:56.413 回答
0
SELECT  CAST(TeamID AS VARCHAR(100)) + ' | ' + CAST(TeamTypeID AS VARCHAR(100)) as CombinedColumn, TeamID ,TeamTypeID FROM [tblName]

这对我有用,其余的正在转换为 int 错误。

于 2021-06-11T09:01:14.630 回答