【发布时间】:2015-04-27 07:38:12
【问题描述】:
我可以为模型和控制器创建 2 个视图吗? 我当前的应用程序是 MVC 投诉,它有一个单一的视图。
我需要创建第二个 GUI,它从模型中获取少量信息(从第一个 GUI 数据更新),更新它并在第一个 GUI 中显示。
【问题讨论】:
-
您可以为单个模型和控制器添加多个视图,但每个视图在控制器中都有自己的操作
标签: c# .net model-view-controller
我可以为模型和控制器创建 2 个视图吗? 我当前的应用程序是 MVC 投诉,它有一个单一的视图。
我需要创建第二个 GUI,它从模型中获取少量信息(从第一个 GUI 数据更新),更新它并在第一个 GUI 中显示。
【问题讨论】:
标签: c# .net model-view-controller
每个操作可以有不同的视图。根据您的描述,这似乎是您正在寻找的。同一个模型有不同的action,没关系。
您可以为要更新的新信息添加一个新动作,然后单击鼠标右键,然后单击“添加视图”。它将为该操作添加一个新视图。
【讨论】:
执行此操作的最常见方法是创建其他操作,为您要显示的每个视图创建一个。
您可以拥有任意数量的视图,只要您可以在它们之间路由即可。
默认情况下,return View(); 或 return View(model) 行将在以下路径中查找视图:/Views/{ControllerName}/{ActionName}。
您还可以指定视图名称,因为 Controller.View() 也接受字符串作为视图名称。
知道了这一点,您可以根据传递给您的操作的参数从单个操作显示不同的视图。
示例:
public ActionResult Example(bool a)
{
if (a) return View("a");
else return View("b");
}
如果 a 为真,这将调用视图 /Views/{ControllerName}/a.cshtml,如果 a 为假,则调用 /Views/{ControllerName}/b.cshtml。
您还可以使用 html 助手从您的第一个视图调用其他部分视图或操作:@Html.Partial({ViewName})、@{Html.RenderPartial({ViewName});} 或 @{Html.RenderAction({ActionName});}
编辑: View() 还会搜索 /Views/Shared/{ActionName}
【讨论】: