use*_*964 2 c# asp.net datasource listbox datatextfield
我有一个包含用户的列表框.数据源是User(包含,id,firstname,lastname,...)类型的通用列表.现在我想使用id作为datavalue(通过dataValueField),我希望LastName +''+ Firstname作为DataTextField.
谁能告诉我这是怎么回事?
我正在使用C#(ASP.NET).
Mar*_*ris 12
最简单的方法是向包含全名的User类添加一个新属性:
public string FullName
{
get { return LastName + " " + FirstName; }
}
Run Code Online (Sandbox Code Playgroud)
并将列表框绑定到该列表框.
这样做的好处是可以集中构建全名的逻辑,因此您可以在整个网站的多个位置使用它,如果需要更改它(例如,对于名字+""+姓氏)你只需要做在一个地方.
如果更改类不是一个选项,您可以创建一个包装类:
public class UserPresenter
{
private User _user;
public int Id
{
get { return _user.Id; }
}
public string FullName
{
get { return _user.LastName + " " + _user.Firstname; }
}
}
Run Code Online (Sandbox Code Playgroud)
或挂钩到itemdatabound事件(可能在那里名称错误)并直接更改列表框项目.