我有数据从动态数据库返回到Gridview
.net 中,其中一个字段有一长串以分号分隔的值。我能够使用换行符代替分号来显示这些数据,但是由于该字段中可能有多达 20 个值,我确信有更好的显示方式。
我使用以下代码来创建和修改模板字段:
<asp:TemplateField HeaderText="Amalgamation"
SortExpression="Amalgamation">
<ItemTemplate>
<%# Eval("Amalgamation").ToString().Replace(";", "<br />")%>
</ItemTemplate>
</asp:TemplateField>
将填充此字段的数据示例是:100001;100002;600001;600006
。
更新:我试过这个但没有快乐。在 html 中:
<%#PopulateArray((string)(Eval("Amalgamation")))%>
<asp:DropDownList ID="ddlStrings" AutoPostBack="true" runat="server"></asp:DropDownList>
那么这个函数在后面的代码中:
public object PopulateArray(string s)
{
string[] sArray = s.Split(';');
DropDownList ddl = new DropDownList();
ddl = (DropDownList)this.Page.FindControl("ddlStrings");
ddl.DataSource = sArray;
ddl.DataBind();
return sArray;
}
我得到一个 NullReferenceException 就行了:ddl.DataSource = sArray