asp.net mvc html.renderaction() 将生成完整的 HTML 文档
asp.net mvc html.renderaction() will generate full HTML document
如果有人能回答我以下问题,我将不胜感激:
我想将部分视图包含到视图中。
分部视图提供的数据独立于(主)视图。
所以也许我有两个控制器操作:
Public Class MyController
Public Function GetMainView() As ActionResult
Return View()
End Function 'generates (main) view
Public Function GetPartialView(ByVal myParameter As Integer) As ActionResult
ViewBag.MyValue = "foo"
If (myParameter = 101) Then
ViewBag.MyValue = "bar"
End If
Return View()
End Function 'generates partial view
End Class ' MyController
在主视图中我可以写
@Code
Html.RenderAction("GetPartialView", New With {.myParameter = 101})
End Code
或
Html.Action("GetPartialView", New With {.myParameter = 101})
问题是,这将在原始 HTML 文档中生成一个完整的 HTML 文档(带有 html 和正文标签等等...)有效代码。
:-(
如果另一方面我试试
@Code
Html.RenderPartial("GetPartialView", New With {.myParameter = 101})
End Code
或
Html.Partial("GetPartialView", New With {.myParameter = 101})
部分视图正确呈现 - 但我传递的参数被忽略(甚至没有输入该方法...),因此 ViewBag.MyValue 将产生 "foo"。
:-(
除了通过 AJAX 动态加载局部视图外,还有什么方法可以解决这个问题?
非常感谢!!!
您必须 return 一个 PartialView:
Public Class MyController
Public Function GetMainView() As ActionResult
Return View()
End Function 'generates (main) view
Public Function GetPartialView(ByVal myParameter As Integer) As ActionResult
ViewBag.MyValue = "foo"
If (myParameter = 101) Then
ViewBag.MyValue = "bar"
End If
Return PartialView() <<--
End Function 'generates partial view
End Class ' MyController
您还可以显式地告诉分部视图的名称并传递其视图模型,例如:
Return PartialView("partial view name", model)
如果有人能回答我以下问题,我将不胜感激:
我想将部分视图包含到视图中。
分部视图提供的数据独立于(主)视图。
所以也许我有两个控制器操作:
Public Class MyController
Public Function GetMainView() As ActionResult
Return View()
End Function 'generates (main) view
Public Function GetPartialView(ByVal myParameter As Integer) As ActionResult
ViewBag.MyValue = "foo"
If (myParameter = 101) Then
ViewBag.MyValue = "bar"
End If
Return View()
End Function 'generates partial view
End Class ' MyController
在主视图中我可以写
@Code
Html.RenderAction("GetPartialView", New With {.myParameter = 101})
End Code
或
Html.Action("GetPartialView", New With {.myParameter = 101})
问题是,这将在原始 HTML 文档中生成一个完整的 HTML 文档(带有 html 和正文标签等等...)有效代码。 :-(
如果另一方面我试试
@Code
Html.RenderPartial("GetPartialView", New With {.myParameter = 101})
End Code
或
Html.Partial("GetPartialView", New With {.myParameter = 101})
部分视图正确呈现 - 但我传递的参数被忽略(甚至没有输入该方法...),因此 ViewBag.MyValue 将产生 "foo"。 :-(
除了通过 AJAX 动态加载局部视图外,还有什么方法可以解决这个问题?
非常感谢!!!
您必须 return 一个 PartialView:
Public Class MyController
Public Function GetMainView() As ActionResult
Return View()
End Function 'generates (main) view
Public Function GetPartialView(ByVal myParameter As Integer) As ActionResult
ViewBag.MyValue = "foo"
If (myParameter = 101) Then
ViewBag.MyValue = "bar"
End If
Return PartialView() <<--
End Function 'generates partial view
End Class ' MyController
您还可以显式地告诉分部视图的名称并传递其视图模型,例如:
Return PartialView("partial view name", model)