ASP.NET核心:将相关数据传递到局部视图

时间:2017-12-11 21:58:13

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

使用2017 ASP.Net Core Microsoft Contoso University示例我在主要父视图中显示有关Coach的数据。我希望部分视图成为提交对所选教师的评论的表单(数据库已为此做好准备)。部分页面需要CoachID,例如

能够将CoachModel数据发送到使用ReviewModel的Partialview有什么好的做法?如果我也想发送有关学生的相关数据,那会怎么样?

我的主要目标是创建一个教练评论,我需要学生ID和目标CoachID。

如果相关:教练可以有很多评论,学生可以对教练进行很多评论。

编辑:非常感谢我的部分相关元素的建议!不,我不是很有经验。

父视图

qsub job1.sh #DONE
qsub job2.sh #DONE
qsub job3.sh #DONE
qsub job4.sh 

我的偏爱:

@model Models.Coach

@{
    ViewData["Title"] = "Details";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div>
    <h4>Coach</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.Name)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Name)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Location)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Location)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Email)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Email)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Methodology)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Methodology)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Price)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Price)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Rating)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.AverageRating)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Reviews)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Reviews.Count)
        </dd>
    </dl>
</div>
<div>
   //How can i pass in "CoachID"
   @Html.Partial("~/Views/Partials/CreateReview.cshtml", new GolfCoachDB.Models.Review())
</div>
<div>
    <a asp-action="Edit" asp-route-id="@Model.CoachID">Edit</a> |
    <a asp-action="Index">Back to List</a>
</div>

0 个答案:

没有答案