【发布时间】:2018-09-21 22:09:15
【问题描述】:
我在通过 JQuery viewLoader GET 请求请求视图的环境中工作。我正在尝试将所有 .html 移植到 Razor (.cshtml),当我将 src 属性的扩展名更改为 .cshtml 时,我始终从客户端收到 403 错误。请注意,我这样做是因为如果我将请求保留为 .html,我会得到 404(我认为 cshtml 会自己作为 html 服务?):
var cartContainerScript = <script id='CartContainerTemplate' type='text/html' src='./Views/Home/Carts/ED.cshtml' ></script>
$("body").append(cartContainerScript);
cartTemplate = $("script[id=" + 'CartContainerTemplate' + "]");
cartContainer.viewloader({
logLevel: "debug",
scripts: cartTemplate,
success: function (resolution) {
//Do good stuff
},
error: function (failedResolution) {
// 403 occurs @ jquery-1.8.3.min.js:2 -> GET http://application.company.com/Views/Home/Carts/ED.cshtml 403 (Forbidden)
}
});
我尝试在我的 Views/Web.config 文件中以下 HTTP 路由的最后一行添加一个 *.cshtml 条目,但没有成功:
<httpHandlers>
<add path="*.aspx;*.ascx" verb="*" type="System.Web.HttpNotFoundHandler"/>
<remove path="*.view.html" verb="*" />
<remove path="Carts\*.html" verb="*" />
<remove path="Carts\*.cshtml" verb="*" />
</httpHandlers>
编译后是否可以将 Razor 文件作为 html 提供?也许我的 web.config 中缺少某些内容?
感谢收看!
【问题讨论】:
标签: c# jquery asp.net-mvc iis razor