ASP.NET MVC Beta 1 - where is Html.RenderPartial?

╄→гoц情女王★ 提交于 2020-01-10 23:20:43

问题


I'm just in the process of upgrading my Preview 5 application to Beta 1, and I'm nearly there save for this one error when trying to render a control:

'System.Web.Mvc.HtmlHelper' does not contain a definition for 'RenderPartial' and no extension method 'RenderPartial' accepting a first argument of type 'System.Web.Mvc.HtmlHelper' could be found (are you missing a using directive or an assembly reference?)

My markup (in the .aspx View Content Page) is:

<% Html.RenderPartial("Controls/UserForm", ViewData); %>

I've tried using Microsoft.Web.Mvc but to no avail. Does anyone know where Html.RenderPartial has gone, or what alternative I could use?


回答1:


And also don't forget to add namespaces like below to the web config, I think preview 5 default web.config does not have System.Web.Mvc.Html in it:

<namespaces>
 <add namespace="System.Web.Mvc"/>
 <add namespace="System.Web.Mvc.Ajax"/>
 <add namespace="System.Web.Mvc.Html"/>
 <add namespace="System.Web.Routing"/>
 <add namespace="System.Linq"/>
 <add namespace="System.Collections.Generic"/>
</namespaces>



回答2:


Now fixed - the conflict was a difference in Web.config requirements between Preview 5 and Beta 1. The following needs to be added into the system.web compilation assemblies node:

<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

After this change, all of my old HtmlHelper methods magically came back!




回答3:


In addition to adding the assembly reference I also had to add the line

 <add namespace="System.Web.Mvc.Html"/>"  

to the pages/namespaces section in web.config file.



来源:https://stackoverflow.com/questions/211493/asp-net-mvc-beta-1-where-is-html-renderpartial

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!