我有一个带有多个嵌套对象的对象:
我想查看create
,以便用户可以编辑整个对象。到目前为止,我已经创建了一个控制器(主对象):
[Route("form")]
public class FormController : Controller
{
public IActionResult Index()
{
PojisteniDomu input = new PojisteniDomu(); // This is the main object
return View(input);
}
[HttpPost]
public IActionResult Index(PojisteniDomu input) // PojisteniDomu is the main object
{
return new ObjectResult(input); // I just want to see what is sent to controller
}
}
并添加了create
视图,这是其中的一部分:
...
<div class="form-group">
<label asp-for="frequency" class="control-label"></label>
<input asp-for="frequency" class="form-control" />
<span asp-validation-for="frequency" class="text-danger"></span>
</div>
@await Html.PartialAsync("../RequesterForm/Index.cshtml", Model.osoba)
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" formmethod="post" />
</div>
...
并且我决定添加partialView,其中将包含requester
对象。这是partialView的控制器:
public class RequesterFormController : Controller
{
public IActionResult Index()
{
PojisteniDomu.Requester input = new PojisteniDomu.Requester();
return View(input);
}
}
局部视图在这里:
@model SrovnavacPojistoven.Core.PojisteniDomu.Requester
<div class="form-group">
<label asp-for="name" class="control-label"></label>
<input asp-for="name" class="form-control" />
<span asp-validation-for="name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="age" class="control-label"></label>
<input asp-for="age" class="form-control" />
<span asp-validation-for="age" class="text-danger"></span>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
它可以正确渲染,但是当我在PojisteniDomu
中得到FormController
对象时,它包含了frequency
,但是requester
对象为null。为什么?我该如何解决?
编辑:我不认为这应该被标记为重复。我曾尝试遵循MVC 6 VNext how to set HtmlFieldPrefix?,但没有成功。当我在寻求有关Asp.Net Core的帮助时,问题和答案也针对Asp.Net。我从用户那里得到了我不记得的名字的帮助,并且我们的所有通信和他的回答都被删除,因此我现在没有机会与他联系。我不同意。这个问题不是另一个问题的重复,因为这是完全不同的框架,链接的问题也无济于事。