我的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中的东西。
提前致谢。
答案 0 :(得分:0)
如果您不想在后面的代码中执行此操作,则可以在SQL查询中获取First Name + Last Name
。 e.g ...
Select ([First Name] + [Last Name]) as [First Name],... from TableName
答案 1 :(得分:0)
您可以尝试将公共属性添加到 TreatmentProviderBO ,如下所示
public String FullName
{
get { return FirstName + " " + LastName ;}
}
您可以将DataTextField设置为FullName。
如果您无法编辑BO,我认为您可以使用扩展方法,但我不确定您是否可以为DataTextField提供方法名称。你可以试试。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您不想更改查询,因为您坚持使用LINQ,请尝试以下
var aa = (from Varible in Collection select new { name = Varible.FirstName + Varible.LastName }).ToList();
现在将DataTextField属性设置为“name”。希望它有所帮助。