2016-11-01 12 views
0

を使用しているとき、私はそうのようになっアクションメソッド持っているアクションにリダイレクトする問題: - それはリダイレクトする必要がありC#のMVC - カスタムACTIONNAME属性

// GET: admin/cms/add-page 
[HttpGet] 
[ActionName("add-page")] 
public ActionResult AddPage() 
{ 
    return View("AddPage"); 
} 

// POST: admin/cms/add-page 
[HttpPost] 
[ActionName("add-page")] 
public ActionResult AddPage(PagesVM pagesVM) 
{ 
    ... 
    return RedirectToAction("AddPage"); 
} 

をしかし、リダイレクトは標準のURLにリダイレクトして、実際とActionName違いはありません〜mysite/admin/cms/AddPageの代わりにmysite/admin/cms/add-page

+0

を言っていますこれが当てはまる場合は、メソッド名を再考する必要があります。 – bilpor

+0

まず、 'return RedirectToAction(" AddPage ")'を 'View(" AddPage ")'に戻してみてください。異なるHTTPメソッドを使って他の 'AddPage'メソッドにリダイレクトするのは役に立ちません。 –

+0

はい同じ名前の2つのアクションメソッドがあります.1つはGETで、もう1つはPOSTです。私のQでは、POSTのコードはGETにリダイレクトされます。提出が成功した後はフォームのフィールドをクリアするためのより良い方法がないので、リダイレクトしたいと思います。 – frc

答えて

1

の代わりに、同じビューに戻り、フォーム値をそのまま使用したい場合は、 return view(pagesVM);

あなたは空の値と同じビューを返したい場合に使用: リターンを表示(新しいPagesVM()):あなたはACTIONNAME属性 `AddPage`で別の`公共のActionResult AddPage`方法を持っていることを

関連する問題