T模型在Razor Helper中未被识别为Lambda表达式

时间:2012-07-25 11:56:14

标签: asp.net-mvc razor lambda helper

我尝试使用Razor Helper为我做一些if语句。我正在传递一个包含某些规则的列表,并根据该规则创建标签和输入文本字段。

我遇到的问题是我无法使用Lambda表达式作为参数。它不会识别TModel部分。

辅助方法如下:

@helper CreateCheckbox(Expression<Func<TModel, bool>> expression, object htmlAttributes, List<Rule> ruleList)
{    

}

我得到的错误是:无法找到名称空间“TModel”的类型。

1 个答案:

答案 0 :(得分:0)

您必须为TModel选择一种类型。因为您的视图没有任何泛型类型参数,所以无法确定它应该替换TModel的类型。你必须给它一个实际的类型来使用。

如果这不是一个选项,您可以只为HtmlHelper类创建一个扩展方法,并使其成为通用方法。有关如何执行此操作的示例,请参阅this question