使用Html.BeginCollection tionItem助手传递集合的部分视图

使用Html.BeginCollection tionItem助手传递集合的部分视图

为了理解StephenMuecke的答案,我做了一个小项目:向控制器提交相同的部分视图,称为多次数据?

几乎一切正常。javascript从分部视图中添加新字段,我可以通过为部分视图插入控制器方法插入的“temp”值来判断它们绑定到模型。

但是,当我提交新字段时,AddRecord()方法会抛出一个异常,显示模型没有被传递(“对象引用没有设置为对象的实例”)。

此外,当我查看页面源时,BeginCollection Item助手将插入一个隐藏标记,就像它应该在主视图中的表周围插入一个隐藏标记一样,它显示的是预先存在的记录,而不是javascript添加的新字段。

我做错什么了?我是新来的,谢谢你的耐心!

我的主要观点是:

@model IEnumerable<DynamicForm.Models.CashRecipient>@using (Html.BeginForm("AddDetail", "CashRecipients", FormMethod.Post)){
    @Html.AntiForgeryToken()
    <div id="CSQGroup">
    </div>}<div>
    <input type="button" value="Add Field" id="addField" onclick="addFieldss()" /></div><script>
    function addFieldss()
    {   
        //alert("ajax call");
        $.ajax({
            url: '@Url.Content("~/CashRecipients/RecipientForm")',
            type: 'GET',
            success:function(result) {
                //alert("Success");
                var newDiv = document.createElement("div"); 
                var newContent = document.createTextNode("Hi there and greetings!"); 
                newDiv.appendChild(newContent);  
                newDiv.innerHTML = result;
                var currentDiv = document.getElementById("div1");  
                document.getElementById("CSQGroup").appendChild(newDiv);
            },
            error: function(result) {
                alert("Failure");
            }
        });
    }</script>

我的部分观点:

@model DynamicForm.Models.CashRecipient@using HtmlHelpers.BeginCollectionItem@using (Html.BeginCollectionItem("recipients")){
    <div class="editor-field">
        @Html.LabelFor(model => model.Id)
        @Html.LabelFor(model => model.cashAmount)
        @Html.TextBoxFor(model => model.cashAmount)
        @Html.LabelFor(model => model.recipientName)
        @Html.TextBoxFor(model => model.recipientName)
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Save" class="btn btn-default" />
        </div>
    </div>}




jeck猫
浏览 544回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP