C# ASP.NET MVC-管理
嘿,这里,我试图使一个网站有以下内容:新闻,产品,关于和联系。问题是,例如产品-我有一个索引视图来为用户列出产品,但是如果我想制作一个“控制面板”,在那里我应该能够编辑产品(名称、价格、数量),该怎么办-在不必创建双productController的情况下,该如何完成此操作?您可以将不同的视图关联到一个控制器。每个视图都将链接到控制器中的操作方法 例如,您可以这样定义C# ASP.NET MVC-管理,c#,asp.net-mvc,C#,Asp.net Mvc,嘿,这里,我试图使一个网站有以下内容:新闻,产品,关于和联系。问题是,例如产品-我有一个索引视图来为用户列出产品,但是如果我想制作一个“控制面板”,在那里我应该能够编辑产品(名称、价格、数量),该怎么办-在不必创建双productController的情况下,该如何完成此操作?您可以将不同的视图关联到一个控制器。每个视图都将链接到控制器中的操作方法 例如,您可以这样定义ProductController类 public class ProductController : Controller {
ProductController
类
public class ProductController : Controller {
[HttpGet]
public ActionResult Index() {
var productList = ProductService.GetProducts();
return View( productList );
}
[HttpGet]
public ActionResult Edit( int id ) {
var product = ProductService.GetProduct( id );
return View( product );
}
[HttpPost]
public ActionResult Edit( ProductModel product ) {
if (ModelState.IsValid()) {
// save the changes
return RedirectToAction( "Index" );
}
return View( product );
}
}
并在您的视图
文件夹中具有相应的视图:
Views
| -- Product
| -- Index.aspx
| -- Edit.aspx
可以将不同的视图关联到一个控制器。每个视图都将链接到控制器中的操作方法 例如,您可以这样定义
ProductController
类
public class ProductController : Controller {
[HttpGet]
public ActionResult Index() {
var productList = ProductService.GetProducts();
return View( productList );
}
[HttpGet]
public ActionResult Edit( int id ) {
var product = ProductService.GetProduct( id );
return View( product );
}
[HttpPost]
public ActionResult Edit( ProductModel product ) {
if (ModelState.IsValid()) {
// save the changes
return RedirectToAction( "Index" );
}
return View( product );
}
}
并在您的视图
文件夹中具有相应的视图:
Views
| -- Product
| -- Index.aspx
| -- Edit.aspx
啊,一定是我在那里没有解释清楚。我想做一个小的CMS。您可以导航到并查看列出的产品。如果您随后进入并登录,您将拥有一个可以管理所有页面(例如产品)的网站。我的问题是,面板和正常的站点是否应该共享控制器?在一个控制器中通常会有不同的CRUD操作。对于创建/更新/删除操作,您只需在控制器中使用[Authorize]属性标记该操作,以确保用户有权执行该操作。是的,我知道,迈克尔。问题是,在上-我希望能够再次列出产品,但这一次与编辑/删除链接。我应该在我的面板中为列表创建一个新视图,还是可以重用我使用的视图?它们似乎是不同的应用程序。你可以采用这种方法,创建一个
面板
区域并使用相同的服务。我的坏伯特兰,你的第一个解决方案是完美的谢谢。啊,一定是我没解释清楚。我想做一个小的CMS。您可以导航到并查看列出的产品。如果您随后进入并登录,您将拥有一个可以管理所有页面(例如产品)的网站。我的问题是,面板和正常的站点是否应该共享控制器?在一个控制器中通常会有不同的CRUD操作。对于创建/更新/删除操作,您只需在控制器中使用[Authorize]属性标记该操作,以确保用户有权执行该操作。是的,我知道,迈克尔。问题是,在上-我希望能够再次列出产品,但这一次与编辑/删除链接。我应该在我的面板中为列表创建一个新视图,还是可以重用我使用的视图?它们似乎是不同的应用程序。你可以采用这种方法,创建一个面板
区域并使用相同的服务。我的坏伯特兰,你的第一个解决方案是完美的谢谢