我正在尝试在VB.NET MVC3中的表单中呈现自定义部分?该部分在主布局中,并且是默认的 - 但是在特定视图中创建自定义的部分
当我尝试
时@Using Html.BeginForm()
..my markup
@Section footerMenu
..custom footer markup
End Section
End Using
编辑: 该部分在我的_Layout.vbhtml
中进行了描述<div id="footer">
@If (IsSectionDefined("footerMenu")) Then
@RenderSection("footerMenu")
Else
...default markup
End If
</div>
我收到此错误:
“@”字符后面的意外“Section”关键字。一旦进入代码内部,您就不需要使用“@”为“Section”构造前缀。
当然删除“@”会导致另一个错误:
编译器错误消息:BC30451:未声明“Section”。由于其保护级别,它可能无法访问。
这可能吗?
答案 0 :(得分:3)
您在其他地方定义section
并在表单中呈现它们。你在这里做的是在表单中定义 section
导致错误。
你需要创建一个自定义的(基本上保持简单)
所以你需要的是这样的东西:
@Using Html.BeginForm()
..my markup
@RenderSection("footerMenuCustom")
End Using
其他地方(可以是局部视图)
@Section footerMenuCustom
... Markup...
End Section
答案 1 :(得分:1)
在“布局”页面中,指定isRequired
值为false
。因此,即使您不提供某些详细信息页面中的内容,它也不会引发错误
@RenderSection("footerMenu",false)