2016-05-31 41 views
1

我有一個提交按鈕我的MVC形式是這樣的:有無MVC DropDownList中提交傳遞命令參數

<input type="submit" name="command" value="Submit" class="btn btn-default" /> 

我控制器捕捉的命令字符串像這樣:

public virtual async Task<ActionResult> Create(ProjectCreate model, string command) 
{ 
    //... 
    if (command == "Submit") 
    { 
     // Do something 
    } 
} 

我想我的DropDownList也傳遞一個命令字符串。現在我有DropDownList中做一個提交這樣的:

@Html.DropDownListFor(m => m.CallForContentFormId, Model.CallForPaperFormsSelect(), new { @class = "form-control", @onchange = "this.form.submit();" }) 

如何設置DropDownList的傳遞命令字符串時,它提交?

+0

一種選擇是把下拉列表的值作爲URL的參數。 –

+0

如果我收集這些信息,它會在每次提交時收集。我試圖說明提交的是什麼控件。這是來自「提交」按鈕或下拉列表或其他控件的帖子。 –

+0

添加隱藏字段? – NKD

回答

2

這似乎有點奇怪。 但是按照我的建議,就可能是這樣的:

@Html.DropDownListFor(m => 
    m.CallForContentFormId, 
    Model.CallForPaperFormsSelect(), 
    new { 
     @class = "form-control", 
     @onchange="this.form.action+='?command=CallForContentFormId'; this.form.submit();" 
}) 
+1

實際上使用了這個:'@onchange =「this.form.action + ='?command = CallForContentFormId'; this.form.submit();」 })它需要單引號。 –

+0

調整! ;-) Tks –