c# - 如何在 mvc 5 中创建一个控制器和多个视图
问题描述
我将 ASP.NET MVC5 与 Entity Framework 4.5 一起使用,并希望在单个控制器中创建多个视图。假设我有 MasterController,我想要添加编辑和显示方法之类的操作,并且在视图文件夹中,我在此文件夹中有一个文件夹名称“Masters”,我想要类别明智的文件夹和文件夹 cshtml 文件。
我正在为我想要的图像共享结构。
这可能吗?
这是我的视图结构
这是我的控制器结构
解决方案
对的,这是可能的。您可以简单地在ASP.NET MVC
项目中创建一个新控制器并使用以下操作方法像这样装饰它:
MasterController.cs
public class MasterController : Controller
{
[HttpPost]
public ActionResult AddCurrency(int? id)
{
return View();
}
[HttpGet]
public ActionResult CurrencyDetails()
{
return View();
}
[HttpDelete]
public ActionResult DeleteDetail(int? id)
{
return View();
}
}
然后,转到这些操作方法中的每一个,右键单击添加视图,然后单击确定。默认情况下,与控制器相关的所有视图都Views/<FolderWithControllerName>
以Views/Master
. 在其中手动创建文件夹并相应地拖放视图。
由于您要覆盖默认约定,因此您需要在从操作方法调用视图时明确提及视图的路径。像这样修改控制器,你就可以开始了:
public class MasterController : Controller
{
[HttpPost]
public ActionResult AddCurrency(int? id)
{
//return View();
return View("/Views/Master/AddCurrency/AddCurrency.cshtml");
}
[HttpGet]
public ActionResult CurrencyDetails()
{
//return View();
return View("/Views/Master/CurrencyDetails/CurrencyDetails.cshtml");
}
[HttpDelete]
public ActionResult DeleteDetail(int? id)
{
//return View();
return View("/Views/Master/DeleteDetail/DeleteDetail.cshtml");
}
}
推荐阅读
- ios - Swift - 如何使用 CAShapeLayer 绘制 3 颗钻石般的棒球场?
- r - 用r中的两个数据集将一条线拟合到qqplot
- angular - 如何获得有序的嵌套承诺Angular 9
- ios - iOS 使用 Codemagic 构建失败 [适用于 Xcode]
- swift - 基于范围的 for 循环与传统的 c 风格 for 循环相比有什么好处?
- c++ - TCP 高 CPU 多客户端服务器
- asp.net-core - 不应为已部署的应用程序 / ASPNETCORE_ENVIRONMENT 启用开发环境
- python - 在 Python 中使用 Selenium 时,我总是收到“弃用警告”
- arrays - 合并数组值 - vuejs
- sql-server - SSIS OLE DB 源从 Oracle 数据源中随机丢失行