c# - MVC 部分 View 和 Controller 代码

标签 c# asp.net-mvc razor partial-views asp.net-mvc-partialview

我不明白 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/

相关文章:

c# - 访问 ASP.NET 5/MVC 6 Identity 自定义配置文件数据属性

asp.net-mvc - MVC远程验证,参数为空

c# - bool 的 MVC 4 自定义模板( Razor )

c# - 我们如何捕获 xamDataGrid 中的行删除通知?

c# - MVC 中的元组在重定向后变空

C# - Foreach 循环仅迭代某些对象

javascript - 使用ajax重新加载部分 View

asp.net-mvc - ASP.NET MVC - 如何获取 URL 而不是操作链接?

asp.net-mvc - 将 URL 写入 Razor 中的自定义路由

c# - Ajax 请求编辑字段 mvc