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

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

MVC 4列表模型綁定如何工作?

MVC 4列表模型綁定如何工作?

Smart貓小萌 2019-12-26 10:22:08
如果我想將一組形式的輸入綁定到ListMVC 4中的,我知道下面的input name屬性命名約定將起作用:<input name="[0].Id" type="text" /><input name="[1].Id" type="text" /><input name="[2].Id" type="text" />但我對模型綁定程序的寬容程度感到好奇。例如,以下內容如何:<input name="[0].Id" type="text" /><input name="[3].Id" type="text" /><input name="[8].Id" type="text" />模型綁定器將如何處理?它將綁定到List長度為9且為空的a嗎?還是仍然綁定到List長度為3的a?還是會完全窒息?我為什么在乎我想實現一個動態表格,用戶可以在其中向表格添加行,也可以從表格中刪除行。因此,如果用戶刪除了總共8行中的第2行,我想知道是否需要對所有后續輸入進行重新編號。
查看完整描述

3 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

我有一個看起來像這樣的動態列表:


<ul id="okvedList" class="unstyled span8 editableList">

<li>

    <input data-val="true" data-val-required="The Guid field is required." id="Okveds_0__Guid" name="Okveds[0].Guid" type="hidden" value="2627d99a-1fcd-438e-8109-5705dd0ac7bb">

    --//--

</li>

因此,當我添加或刪除行(li元素)時,我必須對項目進行重新排序


    this.reorderItems = function () {

        var li = this.el_list.find('li');


        for (var i = 0; i < li.length; i++) {

            var inputs = $(li[i]).find('input');


            $.each(inputs, function () {

                var input = $(this);


                var name = input.attr('name');

                input.attr('name', name.replace(new RegExp("\\[.*\\]", 'gi'), '[' + i + ']'));


                var id = input.attr('id');

                input.attr('id', id.replace(new RegExp('_.*__', 'i'), '_' + i + '__'));

            });

        }

    };

此列表從客戶端放入簡單的Html.BeginFrom中,就像服務器端的action參數中的List一樣


查看完整回答
反對 回復 2019-12-26
  • 3 回答
  • 0 關注
  • 577 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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