2013-10-28 37 views
0

我使用MVC3並遇到問題,當我調用Get方法時。MVC3更新獲取方法參數。不能從同一個視圖中查看

當我從其他視圖的剃刀中調用此代碼運行良好。它發送關鍵字,位置參數與正確的當前值。

查看

控制器

public ViewResult ListSearch(string keyword, string location,int page 
=1) .... 

但是,當我打電話一樣從同樣的觀點get方法,MVC不更新關鍵字,位置參數。而是發送以前的關鍵字,位置參數。

我在home和listSearch視圖中使用相同的剃鬚刀代碼。

例子網址

Home Page => Call GET Method ListSearch (keyword=manager, location=Richmond) 
http://localhost:4838/Home/Index => 
http://localhost:4838/Job/ListSearch?keyword=manager&location=Richmond 

List Search Page => Call GET Method ListSearch (keyword=lawyer, location=Miami) 
http://localhost:4838/Job/ListSearch?keyword=manager&location=Richmond => 
http://localhost:4838/Job/ListSearch?keyword=manager&location=Richmond 

的參數不改變

的我怎麼能解決這個問題的任何想法?

+1

你可以顯示*不是*工作的代碼,而不是顯示代碼*是*工作,只是告訴我們,其他代碼失敗?另外,你可以在瀏覽器中進行一些調試嗎? GET請求失敗時請求的URL是什麼?表單的'action'屬性是什麼?表單的價值是什麼? – David

+0

感謝您的建議。這個問題被編輯了。 –

+0

「ListSearch」視圖中產生的「form」是什麼?我懷疑這個表單包含一個'keyword'輸入元素,但是向一個已經有'keyword' URL值的URL發出一個請求。 – David

回答

0

最後,我解決了它。也許,這不是最好的方式,但它的工作原理。

我引用基於輸入文本字段的新參數並獲取value屬性。

@using (Html.BeginForm(Resources.Route_ListSearch, Resources.Route_JobOffer, 
     new { keyword = System.Xml.Linq.XElement.Parse(Html.TextBox("keyword").ToHtmlString()).Value, location = System.Xml.Linq.XElement.Parse(Html.TextBox("location").ToHtmlString()).Value }, 
     FormMethod.Get, null)) 
相關問題