1
嘿,那裏,我試圖做一個網站有以下內容:新聞,產品,關於和聯繫。問題是,例如產品 - 我有一個索引視圖來爲用戶列出產品,但是如果我想創建一個可以編輯產品(名稱,價格,數量)的「控制面板」 - 應該怎麼做,而不必創建雙productController?ASP.NET MVC - 管理
嘿,那裏,我試圖做一個網站有以下內容:新聞,產品,關於和聯繫。問題是,例如產品 - 我有一個索引視圖來爲用戶列出產品,但是如果我想創建一個可以編輯產品(名稱,價格,數量)的「控制面板」 - 應該怎麼做,而不必創建雙productController?ASP.NET MVC - 管理
您可以將不同的視圖關聯到一個控制器。每個視圖將鏈接到控制器中的操作方法。
你可以,爲例,定義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
文件夾對應的觀點:
Views
| -- Product
| -- Index.aspx
| -- Edit.aspx
啊,一定是我在那裏還沒有正確的解釋。我正在嘗試製作一個小型CMS。您導航到http://something.com/products並查看列出的產品。如果你然後去http://panel.something.com和登錄你有一個網站,你可以管理所有的網頁,例如產品。我的問題是面板和普通網站共享控制器? – ebb 2010-08-22 15:45:28
您通常會在一個控制器中使用不同的CRUD操作。對於創建/更新/刪除操作,您只需使用[授權]屬性在控制器中標記操作,以確保用戶有權執行該操作。 http://www.asp.net/mvc/tutorials/authenticating-users-with-forms-authentication-cs。 – Michael 2010-08-22 15:50:35
是的,我知道那個邁克爾。問題是,在http://panel.something.com/products-我希望能夠再次列出產品,但這次是通過編輯/刪除鏈接。我應該在面板中爲列表創建新的視圖還是可以重複使用http://something.com/products的視圖? – ebb 2010-08-22 15:52:51