2014-02-12 44 views
0

我正在使用ASP.NET MVC C#。我有我用下面的代碼行的看法:返回查看()不在控制器內工作

@using (Html.BeginForm("TastingParty", "Contact")) 

我提交到不同的控制器和動作比當前頁面上,所以我不得不在該行添加自定義控制器和動作。現在它到達我的控制器,並在方法的底部我稱之爲「return View();」所以它會再次顯示相同的頁面。但它正在聯繫人控制器中查找該視圖,因爲這是我發送的視圖。

如何返回它來自的原始視圖?希望這一切都有道理。

+1

您需要'返回RedirectToAction(...)',並把操作/控制器對 – Tallmaris

回答

2
return RedirectToAction(Action,Controler) 

您正在搜尋更新?

+0

簡單,謝謝 – dmikester1

+0

這應該顯示我的驗證錯誤,如「返回視圖()」呢?因爲當它回來時我沒有看到任何錯誤。 – dmikester1

+0

所以看起來像這種方法失去了我的ModelState。嗯...我通過閱讀:http://stackoverflow.com/questions/4642845/asp-net-mvc-how-to-preserve-modelstate-errors-across-redirecttoaction – dmikester1

1

您可以使用return RedirectToAction(...

http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.redirecttoaction(v=vs.118).aspx

或者,如果你希望能夠重複使用於不同的控制器的觀點,你可以將它放在Views\Shared文件夾中。

在後一種情況下,您可以將發佈的模型返回到該視圖。

public ActionResult YourAction(YourViewModel postedModel) { 

    // do something 

    return View(postedModel); 
} 

再次,如果你想這是一個共享視圖,你可以把它Views\Shared\YourAction.cshtml下。

相關問題