Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC-管理_C#_Asp.net Mvc - Fatal编程技术网

C# ASP.NET MVC-管理

C# ASP.NET MVC-管理,c#,asp.net-mvc,C#,Asp.net Mvc,嘿,这里,我试图使一个网站有以下内容:新闻,产品,关于和联系。问题是,例如产品-我有一个索引视图来为用户列出产品,但是如果我想制作一个“控制面板”,在那里我应该能够编辑产品(名称、价格、数量),该怎么办-在不必创建双productController的情况下,该如何完成此操作?您可以将不同的视图关联到一个控制器。每个视图都将链接到控制器中的操作方法 例如,您可以这样定义ProductController类 public class ProductController : Controller {

嘿,这里,我试图使一个网站有以下内容:新闻,产品,关于和联系。问题是,例如产品-我有一个索引视图来为用户列出产品,但是如果我想制作一个“控制面板”,在那里我应该能够编辑产品(名称、价格、数量),该怎么办-在不必创建双productController的情况下,该如何完成此操作?

您可以将不同的视图关联到一个控制器。每个视图都将链接到控制器中的操作方法

例如,您可以这样定义
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]属性标记该操作,以确保用户有权执行该操作。是的,我知道,迈克尔。问题是,在上-我希望能够再次列出产品,但这一次与编辑/删除链接。我应该在我的面板中为列表创建一个新视图,还是可以重用我使用的视图?它们似乎是不同的应用程序。你可以采用这种方法,创建一个
面板
区域并使用相同的服务。我的坏伯特兰,你的第一个解决方案是完美的谢谢