亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

隱藏字段未將部分視圖中的值存儲到復雜對象數組中

隱藏字段未將部分視圖中的值存儲到復雜對象數組中

C#
DIEA 2021-10-31 19:02:48
我無法在模型中獲取復雜類型的數組,以在控制器中的兩個操作之間存儲其值 IsAssigned。一旦模型組成,其中包括復雜類型的數組(包括 IsAssigned),視圖引擎開始呈現 HTML/Razor 腳本。在視圖中,有一部分腳本處理操作復雜類型的控件的顯示。它是一個循環遍歷復雜類型數組的“For i”循環。在此循環期間,對于包含在復雜類型數組內的屬性 IsAssigned,有一個剃刀命令 HiddenFor。在呈現局部視圖的循環中執行第二步。在這個視圖中,有兩個單選按鈕鏈接到數組位置的 IsAssigned 布爾值?財產。如果用戶選擇是,則該屬性變為真,沒有假。在視圖完全呈現并且用戶做出選擇之后,控制器中的下一個操作方法被激活并將模型傳遞給它。在這里,我希望用戶對 IsAssigned 屬性的選擇會持續存在,但不會。它不是。下面是循環的代碼和局部視圖的代碼。環形    @for (int i = 0; i < Model.KitTypeAssignment.Length; i++){    @Html.HiddenFor(m => m.KitTypeAssignment[i].IsKitTypeActiveForSubject)    @Html.HiddenFor(m => m.KitTypeAssignment[i].KitType.Code)    @Html.HiddenFor(m => m.KitTypeAssignment[i].KitType.Description)    @Html.HiddenFor(m => m.KitTypeAssignment[i].KitType.KitTypeId)    @Html.HiddenFor(m => m.KitTypeAssignment[i].IsAssigned, new { @Name = "IsAssigned" + Model.KitTypeAssignment[i].KitType.Code })    @Html.Partial("_KitTypeDispensing", Model.KitTypeAssignment[i])}局部視圖    <div class="field inline spacer20">@{    var kitTypeAssign = String.Format("{0}{1}", Model.KitType.Code, "Assign");    var identityOfAssigned = new { id = @kitTypeAssign, @Name = "IsAssigned" + Model.KitType.Code };    var kitTypeNoAssign = String.Format("{0}{1}", Model.KitType.Code, "NoAssign");    var identityOfNoAssigned = new { id = @kitTypeNoAssign, @Name = "IsAssigned" + Model.KitType.Code };    var sectionTitle = string.Format("{0} {1}", PromptText.Assign_185B7133DB22230701A857C059360CC2.ToLocalizableString(), Model.KitType.Description);    @Html.Label(sectionTitle, new { @class = "colon" })    @Html.RadioButtonFor(m => m.IsAssigned, true, @identityOfAssigned)    <label for=@kitTypeAssign>@Html.PromptFor(PromptText.Yes_93CBA07454F06A4A960172BBD6E2A435)</label>    @Html.RadioButtonFor(m => m.IsAssigned, false, @identityOfNoAssigned)    <label for=@kitTypeNoAssign>@Html.PromptFor(PromptText.No_BAFD7322C6E97D25B6299B5D6FE8920B)</label>}</div>
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

我認為問題在于部分視圖沒有正確地為其 HTML 輸入元素的名稱添加前綴,因此 ModelBinder 不知道如何將它們綁定回您的數組。嘗試將正確的前綴顯式傳遞給部分:


 @Html.Partial(

     "_KitTypeDispensing", 

     Model.KitTypeAssignment[i], 

     new ViewDataDictionary { TemplateInfo = new TemplateInfo { 

         HtmlFieldPrefix = Html.NameFor(m => m.KitTypeAssignment[i]).ToString() } 

     }

 )


查看完整回答
反對 回復 2021-10-31
  • 1 回答
  • 0 關注
  • 200 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號