【发布时间】:2011-04-07 08:38:47
【问题描述】:
我正在创建自定义助手来呈现标签、相应的文本框、验证助手和周围的 li 元素。
当我想包含验证消息时,我得到一个异常:
System.NullReferenceException: 对象 引用未设置为 对象。
并发现代码失败:htmlHelper.ValidationMessageFor(expression).ToString();
我的问题:
- 如何具体找出哪个对象为空?
- 有更好的方法吗?
public static string MooseTextBoxLineFor<TModel,TProperty>(这个 HtmlHelper htmlHelper,表达式>表达式) {
TagBuilder liBuilder = new TagBuilder("li"); liBuilder.AddCssClass("TextBox"); liBuilder.InnerHtml = htmlHelper.LabelFor(expression).ToString() + htmlHelper.EditorFor(expression).ToString() + htmlHelper.ValidationMessageFor(expression).ToString(); return liBuilder.ToString(); }
【问题讨论】:
-
你能调试代码并在你正在执行 ToString() 的地方放置一个断点...我怀疑其中一个标签/编辑器./validationmessage 为空,而你正在调用 tostring ...
标签: c# asp.net-mvc-2 html-helper