2015-02-10 154 views
0

我有一個頁面顯示一個表格和一個DropDownList - 它們不包含在表格中。 當用戶選擇在DropDownList的值 - JavaSript放在一個文本框中命名selectedCategory位於表單中的選定值:RAZOR - 如何使用Url.Action將數據傳遞給控制器​​?

@Html.TextBox("selectedCategory", null, new { @id = "selectedCategory", @style = "width: 100px;" }) 

我使用分頁,所以我有:

@Html.PagedListPager(Model, page => Url.Action("Index", 
new { page, SortO = ViewBag.SortO, 
     FilterV = ViewBag.FilterV, 
     category = selectedCategory })) 

在這種情況下,我收到錯誤: 名稱'selectedCategory'在當前上下文中不存在。 當我在網頁來源上運行沒有「類別= selectedCategory」我看到了場上存在:

<input id="selectedCategory" name="selectedCategory" style="width: 100px;" type="text" value="" /> 

所以我的問題是如何添加「類別= selectedCategory領域的價值」?

感謝,

ZB

回答

0

我再次分析了我的問題,我得出結論,我需要解決我的問題不同的方式 - 使用Session變量或ViewBag。

這裏是爲什麼: 代碼:

@Html.PagedListPager(Model, page => Url.Action("Index", 
new { page, SortO = ViewBag.SortO, 
     FilterV = ViewBag.FilterV, 
     category = xxx })) 

轉換爲HTML:

<li><a href="/?page=2&SortO=My%20Sort&FilterV=My%20Filter&category=xxx">2</a></li> 
    <li><a href="/?page=3&SortO=My%20Sort&FilterV=My%20Filter&category=xxx">3</a></li> 
    <li><a href="/?page=4&SortO=My%20Sort&FilterV=My%20Filter&category=xxx">4</a></li> 

用戶後選擇從DropDownList中的一個選項,一個JavaScript函數將需要更新「的範疇= xxx「與所選選項的值 - 我認爲可以完成,但它看起來很複雜。

相關問題