我不明白 Controller 如何处理局部 View ,它与 View 相同吗?我做了一个例子,似乎从未使用过部分 View Controller
这是例子
主视图(test.cshtml):
<h2>Main View</h2>
@Html.Partial("_Partial", new { myNumber = 11 })
部分 View (_Partial.cshtml):
<h3>partial view</h3>
<p>my number is @Html.ViewBag.myNumber</p>
Controller (EtlMessagesController)
public ActionResult Test() {
return View();
}
public ActionResult _Partial(int myNumber) {
ViewBag.myNumber = myNumber;
return PartialView();
}
当我调用我期望的主视图时
Main View
partial view
my number is 11
但是数字11没有写。我错过了什么吗?
最佳答案
在这里,您将匿名模型传递给局部 View :
<h2>Main View</h2>
@Html.Partial("_Partial", new { myNumber = 11 })
尝试使用显式模型类或仅使用 int
:
<h2>Main View</h2>
@Html.Partial("_Partial", 11)
然后你可以在分部 View 中使用@model
关键字:
@model int
<h3>partial view</h3>
<p>my number is @Model</p>
至于:
public ActionResult _Partial(int myNumber) {
ViewBag.myNumber = myNumber;
return View();
}
你应该使用:
public ActionResult _Partial(int myNumber) {
return PartialView("_Partial", 11);
}
PartialView
方法可用于 AJAX 场景以呈现 HTML 页面的一部分。
关于c# - MVC 部分 View 和 Controller 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32501372/