0
我有多項選擇的jQuery plagin(Choosen),當我在 '多重選擇' 模式下使用它,我希望在控制器接下來值:missunderstanding MVC默認綁定
posted string = 'value1,value2...'
實際上只有
posted string = 'value2'
如果我直接向FormCollection反駁,我會得到預期值如下:
[HttpPost]
public ActionResult TagSearech(/*string tagSelect*/FormCollection c)
{
// only one value here
// string[] names = tagSelect.Split(',');
// as expected: value1,....
string expectedValue = c['tagSelect'];
return View();
}
我無法理解可能會導致此行爲的原因。
編輯
這裏查看:
@using (Html.BeginForm("TagSearech", "Tag"))
{
@Html.DropDownList("tagSelect", Model, new { @class = "chzn-select", data_placeholder = "tag names", multiple = "" })
<input type="submit"/>
}
所以,想法與數組工作很好。可能這是不是錯誤的格式 - 作者使plagin工作在這種方式。像有幾個字段具有相同的名稱和不同的值。 – 2013-04-23 11:02:50
在這種情況下,MVC正確地將第一個值綁定到字段中,但之後不知道如何處理其餘的內容。字符串數組將工作,因爲活頁夾可以繼續將值分配給具有相同名稱的變量。 – Nick 2013-04-23 11:06:26