2011-06-04 58 views
0

選定值我有一個像這樣在我的asp.net MVC2視圖中的下拉列表:通過下拉菜單的從視圖控制器

<% using(Html.BeginForm("temp","Settings")){ %> 
    <%= Html.DropDownList("drpFields", new SelectList(Model.Fields, "FieldID", "NiceName", whiteout.FieldID)) 
} 
%> 

,我想從視圖中通過下拉菜單選擇值控制器動作。如何修改這個:

<a class="icon-button-success" href='<%: Url.Action("EditWhiteOut", "Settings", new {FieldId = 1}) %>'> 
    <img src='<%: Url.Content("~/static/Images/update.png") %>' alt="Update" /> 
</a> 

我想下拉的選擇值傳遞給FieldId

回答

0

如果你願意使用Ajax,如果你想使用jQuery.ajax,你可以避開表格。您可能需要爲您的錨點的ID屬性賦值(我的示例下面只使用了它的類屬性)

但是,既然您想定期回發,您需要使用另一個重載Html.BeginForm可以指定形式的ID屬性(我在規定的情況下,你不熟悉這個超負荷的參數名稱)

Html.BeginForm(actionName: "temp", controllerName: "Settings", 
    method: FormMethod.POST, htmlAttributes: new { id = "MyForm" }) 

而jQuery的使用,讓您的鏈接提交表單將創建一個標準的提交。所以,只要你的選擇列表有一個名稱屬性,它的值將被包含在帖子的有效載荷中。

$(function() { 
    $('.icon-button-success').click(function (e) { 
     $('#MyForm').submit(); 
     // you might not need preventDefault, but I can't remember if 
     // it will create a second post or not 
     e.preventDefault(); 
    }); 
}); 

如果你想做一個重定向反正(使用$.ajax方法),你總是可以做window.location.href='redirect/link';success函數內的$.ajax通話

+0

我不想使用AJAX。我只想使用html.beginform。我怎樣才能做到這一點? – DotnetSparrow 2011-06-05 06:11:22

+0

@DotnetSparrow好的,你應該能夠在你的表單上使用'$ .submit',並將點擊功能綁定到你想用來提交表單的鏈接上。我會修改我的答案。 – 2011-06-05 13:35:39

0

和什麼有關 這將觸發的JavaScript提交的形式,如果JS沒有啓用

<% using (Html.BeginForm(youraction)) {%> 

<select name='myfield' onchange='this.form.submit()'> 
<option .... > 
... 
</select> 
<noscript><input type="submit" value="Submit"></noscript> 
<%}%> 

或使用您的代碼提供按鈕: 使用jQuery更新值O F中的提交在這種情況下 的javascript值:

var link = Url.Action("EditWhiteOut", "Settings"); 

jQuery的

function toCallOnChange(){ 
var linkParameter = $("#id of object").val(); 
$("a.icon-button-success").attr("href", link+"\"+linkParameter); //which will overwrite default value to current link 
} 


<a class="icon-button-success" href='#'> 
    <img src='<%: Url.Content("~/static/Images/update.png") %>' alt="Update" /> 
</a> 
相關問題