MVC4:使用jQuery.load动态加载cshtml文件

时间:2014-02-04 16:51:09

标签: jquery asp.net-mvc asp.net-mvc-4 razor

这是我的情况:我有一个项目,我们使用jQuery.Load函数动态加载.aspx文件。我们现在必须使用Razor,所以我将我的aspx文件更改为cshtml文件。

第一个障碍是,在使用jQuery.load()加载cshtml时,我收到了错误500。做了一些研究,我把这行添加到我的web.config

<add key="webpages:Enabled" value="true" />

有点修复它,因为我收到以下错误消息:

  

... cshtml'不继承自'System.Web.WebPages.WebPage'。   描述:执行当前Web请求期间发生未处理的异常。

所以我的修复是将它添加到我的cshtml文件

@inherits System.Web.WebPages.WebPage

我现在可以使用jQuery.load()加载它,但我无法再访问MVC扩展方法! (示例@ Html.Partial),可能是因为它不再继承自System.Web.Mvc.WebViewPage

所以这是我的问题:无论如何,我有没有从System.Web.Mvc.WebViewPage继承的cshtml文件,并且可以由jQuery.Load()动态加载?

谢谢!

1 个答案:

答案 0 :(得分:0)

我们总是需要一个处理程序来处理请求。

.aspx继承了实现IHttpHandler

的System.web.ui.page

.cshtml页面用作控制器操作执行中的视图。它被视为一个视图文件,并没有实现IHttpHandler

通过某个处理程序(控制器)

提供.cshtml页面