1)比方說,我有這種形式:什麼類型的對象可以被送回使用Html.Hidden()的操作方法
<% Using(Html.BeginForm()) { %>
<%= Html.Hidden("myObject",
(cast to the appropriate type)ViewData["KeyForMyObject"] %>
<input type = "submit" "Submit Object">
<% } %>
2)這裏是其中的應該攔截價值的行動對象
public ActionResult MyAction(Type myObject)
{
//Do Something with the object
}
我的問題是:隱藏字段可以支持什麼類型的對象?
事實上,當計算機[ 「KeyForMyObject」]包含一個字符串,int或布爾,myAction能夠檢索該值。
但是,當涉及到對象,如列表和字典,沒有任何反應。當我調試以檢查本地值時,我看到空值爲在MyMethod中鍵入myObject。
那麼當涉及到List或Dictionary時,MVC中的規則是什麼?
編輯
爲了讓事情變得更簡單,我能寫這樣的事情
<%= Html.Hidden("contactDic", (Dictionary<string, string>)ViewData["contacts"]) %>
,並期望檢索操作方法的字典是這樣
public ActionResult myMethod(Dictionary<string, string> contactDic)
{
// Do something with the dictionary
}
感謝幫助