以下のようにコントローラーに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 アクション動詞にコメントを付けてアプリケーションを実行すると、アプリケーションはリソースが見つからないというエラーをスローします。Create Action は起動しません。私のhtmlには @using (Html.BeginForm()) があります
フォームを変更しても、同じエラーが発生します。GET アクション動詞のコメントを外すと、常に GET メソッドが起動します。POST Create action を呼び出したい。解決方法を教えてください。
MVC プロジェクトに製品にエリアがあります。その中に ProductsController.cs があります POSTアクションのCreateメソッドを呼び出す方法を教えてください。
-マヘンダー