.net核心MVC中查看数据未纳入模型 [英] view data not come into model in .net core mvc
问题描述
进入第二部分视图的数据不会进入模型,但是会进入第一部分视图数据.我想将两个部分视图数据都放入模型中.请指导我该如何做,因为我是.net core的新手.
The data entered into second partial view not come into model but first partial view data come. I want both partial view data into model. Please guide me how to do it as i am new in .net core.
控制器
[HttpPost]
public ActionResult NewIndividualSearchCharacteristic(ABC.Core.Models.DTOs.Characteristic characteristics)
{
return PartialView("IndividualSearchCharacterisiticPartial", characteristics ?? new ABC.Core.Models.DTOs.Characteristic());
}
第一部分视图具有第二部分视图
First partial view having second partial view
@model ABC.Core.Models.DTOs.Individual.IndividualSearch
@using (Html.BeginCollectionItem("IndividualSearches"))
{<div id="Characteristics" class="mb-3">
@if (Model?.Characteristics != null)
{
for (var i = 0; i < Model?.Characteristics.Count; i++)
{
<div class="form-group">
@{ Html.RenderPartial("IndividualSearchCharacterisiticPartial", Model.Characteristics[i], new ViewDataDictionary()); }
</div>
}
}
IndividualSearch类别
IndividualSearch Class
namespace ABC.Core.Models.DTOs.Individual
{
public List<Characteristic> Characteristics { get; set; } = new List<Characteristic>();
型号
namespace ABC.Core.Models.DTOs
{
public class Characteristic
{
public string Name { get; set; }
public string Value { get; set; }
}
}
第二部分
@model ABC.Core.Models.DTOs.Characteristic
@using (Html.BeginCollectionItem("Characteristics"))
{
<div id="characteristic-details" class="card">
<div class="form-horizontal">
<div class="card-block">
<div class="container">
<div class="row">
<div class="col-*-*">
@Html.LabelFor(m => m.Name, "Name", new { @class = "form-control-label" })
</div>
<div class="col">
@Html.TextBoxFor(m => m.Name, null, new { @class = "form-control" })
</div>
服务等级
individualSearch.Characteristics = requestTestData.individualCharacteristics;
推荐答案
要通过两个相关的局部视图显示数据,您应确认哪个是首先显示的第一个局部视图.
To show data by two related partial view, you should confirm which is the first partial to show first.
根据您的代码,称为 IndividualSearchCharacterisiticPartial
的 IndividualSearchPartial
部分视图,为此,您应首先在NewIndividualSearchCharacteristic操作中调用IndividualSearchPartial部分视图,该操作将称为IndividualSearchCharacterisiticPartial自动局部视图.
According to your code, the IndividualSearchPartial
partial view called IndividualSearchCharacterisiticPartial
partial view, therefor, you should call IndividualSearchPartial partial view first in NewIndividualSearchCharacteristic action which will called IndividualSearchCharacterisiticPartial partial view automatically.
在 NewIndividualSearchCharacteristic
操作中,您应该返回带有 IndividualSearch
模型数据的 IndividualSearchCharacterisiticPartial
部分视图.
And in NewIndividualSearchCharacteristic
action, you should return IndividualSearchCharacterisiticPartial
partial view with IndividualSearch
model data.
以下是基于您的代码的示例:
Here is an example based on your code:
测试视图:
@{
ViewData["Title"] = "Test";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Test</h1>
<input id="Button1" type="button" value="button" />
<div id="aa"></div>
@section Scripts{
<script>
$("#Button1").click(function () {
$.ajax({
url: "/home/NewIndividualSearchCharacteristic",
type: "post",
success: function (data) {
$("#aa").html(data);
}
})
})
</script>
}
NewIndividualSearchCharacteristic操作:
NewIndividualSearchCharacteristic action:
[HttpPost]
public ActionResult NewIndividualSearchCharacteristic()
{
IndividualSearch individualSearch = new IndividualSearch()
{
Characteristics = new List<Characteristic>() {
new Characteristic(){ Name="aa", Value="gfd"},
new Characteristic(){ Name="bb", Value="dsa"},
new Characteristic(){ Name="cc", Value="eqw"},
}
};
return PartialView("IndividualSearchPartial", individualSearch);
}
IndividualSearchPartial部分视图:
IndividualSearchPartial partial view:
@model IndividualSearch
@using (Html.BeginForm("IndividualSearches"))
{
<div id="Characteristics" class="mb-3">
@if (Model?.Characteristics != null)
{
for (var i = 0; i < Model?.Characteristics.Count; i++)
{
<div class="form-group">
@await Html.PartialAsync("IndividualSearchCharacterisiticPartial", Model.Characteristics[i])
</div>
}
}
</div>
}
IndividualSearchCharacterisiticPartial部分视图:
IndividualSearchCharacterisiticPartial partial view:
@model Characteristic
@using (Html.BeginForm("Characteristics"))
{
<div id="characteristic-details" class="card">
<div class="form-horizontal">
<div class="card-block">
<div class="container">
<div class="row">
<div class="col-*-*">
@Html.LabelFor(m => m.Name, "Name", new { @class = "form-control-label" })
</div>
<div class="col">
@Html.TextBoxFor(m => m.Name, null, new { @class = "form-control" })
</div>
</div>
</div>
</div>
</div>
</div>
}
这是测试代码:
这篇关于.net核心MVC中查看数据未纳入模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!