作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个应用程序,其中如果有 Ajax,则调用它返回部分 View ,如果它是页面刷新,则它返回布局和渲染脚本。但问题是部分 View 不会渲染部分,因为我在 APP_Code 中创建了一个 MVC 助手,如下所示:
@helper AddSection(Func<object, object> content)
{
if (IsAjaxRequest)
{
@content(null);
}
else
{
@section scripts {
@content(null);
}
}
}
当我在我看来调用它时,我收到以下错误:
CS0103: The name 'DefineSection' does not exist in the current context
Line 71: #line hidden
Line 72: DefineSection("scripts", () => {
Line 73:
我尝试了很多方法,但这个错误仍然存在,我也搜索了很多,但找不到解决方案。
最佳答案
我搜索了很多,发现助手里面的部分是不可能的。以下是链接:
https://stackoverflow.com/a/22977735/5179246
@helper 和 @section 语法是编译页面的特殊指令。
HelperResult(助手)不知道如何定义一个部分。
DefineSection方法属于WebPageBase。
您可能必须从不同的方向来解决这个问题。使用部分 View 而不是助手可能会解决这个问题。
您可以使用嵌套布局。内部布局仅用于渲染正文和脚本。
关于asp.net-mvc - Asp.Net MVC 帮助程序 : create a global helper for loading view with or without layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43039672/
我是一名优秀的程序员,十分优秀!