【发布时间】:2012-05-25 14:54:11
【问题描述】:
填充Repeater时我得到NullReferenceException。某些产品功能为空。我在使用UrlDecode()和kill()方法时使用IsNullControl()方法来避免异常。但我仍然得到错误。
<asp:Repeater ID="rptProducts" runat="server">
<ItemTemplate>
<div>
<%# Eval("ProductName")%>
</div>
<div>
<%# kill(Server.UrlDecode(IsNullControl(Eval("ProductFeature").ToString())))%>
</div>
</ItemTemplate>
</asp:Repeater>
try
{
ProductsDataContext pdc = new ProductsDataContext();
var query = from p in pdc.Products
select p;
rptProducts.DataSource = query;
rptProducts.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
public static string kill(string val)
{
val = val.Replace("<ul>", " ");
val = val.Replace("<li>", " ");
val = val.Replace("</li>", "<br/>");
val = val.Replace("</ul>", " ");
return val.ToString();
}
public static string IsNullControl(string val)
{
string space = " ";
if (string.IsNullOrEmpty(val))
{
val = space;
}
return space;
}
【问题讨论】:
-
测试
IsNullControl的结果。是你所期望的吗?
标签: c# asp.net repeater nullreferenceexception urldecode