Asp.Net Core-从局部视图收集数据

时间:2018-06-24 08:53:43

标签: c# asp.net-core asp.net-core-mvc asp.net-core-2.0 partial-views

我有一个带有多个嵌套对象的对象:

  • 频率(int)
  • 请求者(对象)
    • 名称(字符串)
    • 年龄(int)
  • ...

我想查看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。我从用户那里得到了我不记得的名字的帮助,并且我们的所有通信和他的回答都被删除,因此我现在没有机会与他联系。我不同意。这个问题不是另一个问题的重复,因为这是完全不同的框架,链接的问题也无济于事。

0 个答案:

没有答案