使用Html.BeginCollection tionItem助手傳遞集合的部分視圖為了理解StephenMuecke的答案,我做了一個小項目:向控制器提交相同的部分視圖,稱為多次數(shù)據(jù)?幾乎一切正常。javascript從分部視圖中添加新字段,我可以通過為部分視圖插入控制器方法插入的“temp”值來判斷它們綁定到模型。但是,當(dāng)我提交新字段時,AddRecord()方法會拋出一個異常,顯示模型沒有被傳遞(“對象引用沒有設(shè)置為對象的實例”)。此外,當(dāng)我查看頁面源時,BeginCollection Item助手將插入一個隱藏標(biāo)記,就像它應(yīng)該在主視圖中的表周圍插入一個隱藏標(biāo)記一樣,它顯示的是預(yù)先存在的記錄,而不是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>}
使用Html.BeginCollection tionItem助手傳遞集合的部分視圖
jeck貓
2019-06-06 16:05:15