当我在我的控制器中添加 2 Create Method 时,如下所示
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Create()
{
Product.Models.Product p = new Models.Product();
//update DB
try
{
return RedirectToAction("GetAll");
}
catch (Exception)
{
return View(p);
}
}
//
// POST: /Product/Default1/Create
[AcceptVerbs(HttpVerbs.Posr)]
public ActionResult Create(FormCollection collection)
{
try
{
if (myProduct.Products == null)
{
myProduct.Products = new List<Models.Product>();
}
Product.Models.Product p = new Product.Models.Product();
p.Name = collection["Name"];
p.ProductType = collection["ProductType"];
p.Id = myProduct.Products.Count + 1;
myProduct.Products.Add(p);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
如果我评论 GET 动作动词并运行应用程序,应用程序会抛出错误资源未找到。它不会触发创建操作。我的 html 有 @using (Html.BeginForm())
我将表格更改为即使这样我也得到了同样的错误。如果我取消注释 GET 动作动词,那么总是 GET 方法启动。我想调用 POST Create action 。可以any1指导我如何解决。
我的 MVC 项目中有产品有区域。其中有 ProductsController.cs 请帮助我如何调用 POST 操作 Create 方法。
-马亨德