3

我正在尝试在 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:未声明“节”。由于其保护级别,它可能无法访问。

这可能吗?

4

2 回答 2

3

section在其他地方定义并在您的表单中呈现它们。您在这里所做的是在导致错误的表单中定义。 section

你需要创建一个自定义的(基本上保持简单)

所以你需要的是这样的:

@Using Html.BeginForm()
..my markup
   @RenderSection("footerMenuCustom") 
End Using

其他地方(可以是局部视图)

@Section footerMenuCustom 
... Markup...
End Section
于 2012-06-20T16:53:55.307 回答
1

在您的布局页面中,指定isRequired值为false。这样即使您不提供某些详细信息页面的内容,它也不会抛出错误

@RenderSection("footerMenu",false) 
于 2012-06-20T17:09:54.450 回答