All*_*cus 11 c# asp.net razor asp.net-mvc-3
我一直在尝试将我的aspx页面转换为cshtml,并且在从另一个文件夹渲染部分页面时遇到问题.
我以前做的:
<% Html.RenderPartial("~/Views/Inquiry/InquiryList.ascx", Model.InquiryList.OrderBy("InquiryId", MvcContrib.Sorting.SortDirection.Descending));%>
Run Code Online (Sandbox Code Playgroud)
我认为相当于:
@Html.RenderPartial("~/Views/Inquiry/_InquiryList.cshtml", Model.InquiryList.OrderBy("InquiryId", MvcContrib.Sorting.SortDirection.Descending))
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,我收到以下错误.
CS1973:'System.Web.Mvc.HtmlHelper'没有名为'Partial'的适用方法,但似乎有一个名称的扩展方法.无法动态分派扩展方法.考虑转换动态参数或调用扩展方法而不使用扩展方法语法.
如何使用Razor视图引擎实现这一目标?
GvS*_*GvS 24
该的RenderPartial不返回一个字符串或IHtmlString值.但是通过在响应中调用Write来进行渲染.
您可以使用Partial扩展,这将返回一个MvcHtmlString
@Html.Partial( ....
Run Code Online (Sandbox Code Playgroud)
要么
@{ Html.RenderPartial(....); }
Run Code Online (Sandbox Code Playgroud)
如果你真的想要RenderPartial
编译器无法选择正确的方法,因为您的模型是动态的.将通话更改为:
@Html.RenderPartial("~/Views/Inquiry/_InquiryList.cshtml", (List<string>)Model.InquiryList)
Run Code Online (Sandbox Code Playgroud)
或者查询列表的任何数据类型.
| 归档时间: |
|
| 查看次数: |
18643 次 |
| 最近记录: |