2013-10-24 33 views
0

這是我在SearchResult所查看代碼的顏色下拉列表試圖在VB .NET來觸發MVC下拉列表回發

<td>@Html.DropDownList("colours", TryCast(ViewData("colours"), SelectList), 
         New With {.onchange = "document.getElementById('wineSearchCriteria').submit();"})</td> 

我設置表格名「wineSearchCriteria」

<form action="/Wines/SearchResults" method="post" name="wineSearchCriteria" 
    input type="submit" value="Search"/> 

但當顏色下拉列表發生更改時,表單不會回發。我相信這會很簡單!

+2

就像有點信息。一個[回發](http://stackoverflow.com/questions/183254/what-is-a-postback/183481#183481)非常Webforms的概念。 MVC更緊密地耦合到HTTP,因此它可以是[POST](http://en.wikipedia.org/wiki/POST_(HTTP))或[GET](http://en.wikipedia.org/wiki/ Hypertext_Transfer_Protocol#Request_methods)。 – Liam

回答

1

document.getElementById()將只能通過它們的ID檢索元素,但是您沒有爲表單分配ID。您正在爲表單指定一個名稱。使用id屬性改爲:

<form action="/Wines/SearchResults" method="post" id="wineSearchCriteria" 
input type="submit" value="Search"/> 
+0

謝謝查理 - 正如我所說我知道它必須是簡單的東西!感謝回覆。 – user2916577

+0

不要忘記upvote/accept! –

0

您應該設置id屬性爲"wineSearchCriteria",不是名字。

<form action="/Wines/SearchResults" method="post" id="wineSearchCriteria" />