2013-03-11 74 views
0

MVC newbee here。我有一個主視圖(Index.cshtml)的MVC3項目。從這個視圖中你可以進入CreateRemark.cshtml視圖。您可以在此視圖上創建並保存註釋。在POST操作中,我有將數據保存到數據庫的邏輯,然後我想再次呈現索引視圖。MVC:返回錯誤的URL查看

我這樣做,我的行動CreateRemark年底通過寫

Return View("Index"); 

我希望我的URL看起來像本地主機/或本地主機/索引。但它一直說本地主機/ CreateRemark?id = 123,而它實際上呈現索引視圖上的HTML。它呈現錯誤,雖然(我還沒有完全調查,但它缺少按鈕中的所有圖像和層次網格未命中第二級),我想我可以通過確保我指示最終用戶到索引視圖在正確的MVC方式。我認爲我做錯了。

GET/POST操作索引和CreateRemark都在同一個主控制器中。我想我以後需要一個RemarkController,但還沒有這樣做。抱歉。

有人可以指點我正確的方向嗎?在此先感謝您的幫助。

+0

視圖與網址不對應,您的路由配置(默認情況下使用{controller}/{action}。 – roryf 2013-03-11 13:28:58

+0

感謝您的回覆。 – 2013-03-11 14:02:08

回答

1

的URL是無論用戶導航到。如果他們導航到該頁面(我假設在「從這個視圖中你可以去...」位),然後這是網址

您在Return View("Index")中提供的字符串與URL沒有任何關係;它只是告訴視圖引擎使用哪個視圖文件。你可以在這一點上更改URL的唯一辦法是一個重定向返回索引動作/路線:

return RedirectToAction("Index"); 

這將涉及到客戶端的額外的http請求,請注意。

+0

感謝您的額外信息。對於客戶端來說,額外的http請求是不好的嗎?它會減慢我假設的東西嗎?問題是,如果我不給這個重定向,我使用的分層網格出於某種原因會出錯。 – 2013-03-11 14:05:07

+0

「bad」有點主觀。直接的,當然,至少它會增加任何延遲 – 2013-03-11 14:21:26