1

我的 aspx 页面中有一个列表框:

<asp:ListBox ID="lstTreatmentProvider" runat="server" SelectionMode="Multiple" Width="175px"
                                        Height="81" CssClass="SingleColumnlist" DataSourceID="dtsTreatmentProviders" DataTextField="FirstName" DataValueField="ServiceId"></asp:ListBox>

我将此数据源用于列表框:

<asp:ObjectDataSource ID="dtsTreatmentProviders" runat="server" SelectMethod="GetAllTreatmentProviders"
                        TypeName="Pc.PrecisionCare2.BLL.Administration.TreatmentProvider.TreatmentProviderBO"
                        SortParameterName="sortExpression"></asp:ObjectDataSource>

如您所见,我在列表框中使用,DataTextField="FirstName"因为我的数据源返回治疗提供者的一些数据,包括名字、姓氏等。

我想让我的列表框包含First Name + Last Name我可以使用 DataTextField 属性以某种方式执行此操作吗?

PS:我不想在cs文件中这样做。我想要一些在 aspx 中的东西。

提前致谢。

4

4 回答 4

0

First Name + Last Name如果您不想在后面的代码中执行此操作,您可以在 SQL 查询中获取。例如..

Select ([First Name] + [Last Name]) as [First Name],... from TableName
于 2011-06-06T06:15:52.723 回答
0

您可以尝试向 TreatmentProviderBO添加公共属性,如下所示

public String FullName
{
    get { return FirstName + " " + LastName ;}
}

您可以将 DataTextField 设置为 FullName。

如果你不能编辑 BO,我认为你可以使用扩展方法,虽然我不太确定你是否可以给 DataTextField 一个方法名称。你可以试试。

于 2011-06-06T06:22:02.733 回答
0

这篇文章对你有帮助吗?

将下拉列表与字典绑定

我认为您也可以使用匿名类型。

于 2011-06-06T06:22:29.673 回答
0

如果您不想在坚持使用 LINQ 时更改查询,请尝试以下方法

  var aa = (from Varible in Collection select new { name = Varible.FirstName + Varible.LastName }).ToList();

现在将 DataTextField 属性设置为“名称”。希望能帮助到你。

于 2011-06-06T06:34:51.720 回答