2010-09-26 40 views
0

我有以下即接受表單提交代碼asp.net的MVC - 返回查看不火的代碼...網址錯

 [ActionName("TestingTemp"), AcceptVerbs(HttpVerbs.Post)] 
     public ActionResult TestingTemp(FormCollection result) 
     { 
      string cat = ""; 
      return View("Try"); 
     } 

現在的問題是,即使它似乎加載「嘗試「頁面,因爲它不會觸發下面的代碼(如果我直接進入」嘗試「頁面,它會得到正確的啓動),因此頁面上的內容會中斷。

 public ActionResult Try() 
     { 
      ViewData["Test"] = DataLayer.Test(0, 10); 
      return View(); 
     } 

此外,url包含TestingTemp它應該包含的地方Try如果你知道我的意思。

回答

3

我認爲你要找的是RedirectToAction。它會重定向到其他方法並重寫URL。

[ActionName("TestingTemp"), AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult TestingTemp(FormCollection result) 
    { 
     string cat = ""; 
     return RedirectToAction("Try"); 
    } 
0

的首選方法是使用redirectToAction但如果ü不希望走那條路那麼u必須把需要的數據是烏拉圭回合中嘗試的方法做這樣

[ActionName("TestingTemp"), AcceptVerbs(HttpVerbs.Post)] 
     public ActionResult TestingTemp(FormCollection result) 
     { 
      string cat = ""; 
      ViewData["Test"] = DataLayer.Test(0, 10); 
      return View("Try"); 
     } 

,但正如我所說的這方式是不優選的,即在每個動作中重複烏爾代碼,而不是你可以只寫類似

[ActionName("TestingTemp"), AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult TestingTemp(FormCollection result) 
    { 
     string cat = ""; 
     return RedirectToAction("Try"); 
    }