【发布时间】:2011-07-06 19:44:30
【问题描述】:
我需要创建一个HtmlHelperextension 来呈现自动完成功能。像这样的:
@Html.AutoCompleteFor(x => x.CustomerId);
问题是Html.RenderPartial(...)返回void,所以我的AutoCompleteFor方法也必须是void。但是 Razor 不会让它编译,因为 @Html.X 只有在 X 返回一个 Object 时才会编译。
我知道我可以通过调用这个来绕过这个问题:
@{ Html.AutoCompleteFor(x => x.CustomerId); }
但这会使我的代码看起来与@Html.EditorFor不一致
我需要从我的 HtmlHelper 中返回一个 PartialView
一些注意事项:
- 我知道您可能认为这会以某种方式打破 MVC 模式,但 MVC 本身就是这样做的。
Html.EditorFor将尝试查找视图并将其返回。 - 我只是想这样做,因为我需要
foreign-key属性才能默认使用jQuery-AutoComplete。我无法告诉 MVC 将我的模板用于外键属性。
【问题讨论】:
标签: .net asp.net asp.net-mvc-3 razor