创建新模型时传递参数

时间:2011-07-25 17:47:39

标签: c# asp.net asp.net-mvc-3

我有一个视图显示我的帖子的详细信息,它还提供了一个部分视图,负责添加评论。问题是我不知道如何用new Comment()传递带有已存在值的参数。那是PostID

model是Post模型,用于渲染帖子数据,如Body / Title等...
我的代码:@Html.Partial("_CommentAdd", new Comment())
我想做什么:@Html.Partial("_CommentAdd", new Comment({ PostID = model.ID}))

完整代码

@using project01.Models
@model project01.Models.Post
@{
    ViewBag.Title = "Details";
}

<h2>Details</h2>

<fieldset>
    <legend>Post</legend>

    <div class="display-label">Title</div>
    <div class="display-field">
        @Html.DisplayFor(model => model.Title)
    </div>

    <div class="display-label">Body</div>
    <div class="display-field">
        @Html.DisplayFor(model => model.Body)
    </div>

    <div class="display-label">Tags</div>
    <div class="display-field">
        @Html.DisplayFor(model => model.Tags)
    </div>

    <div class="display-label">Date</div>
    <div class="display-field">
        @Html.DisplayFor(model => model.Date)
    </div>
</fieldset>

@Html.Partial("_CommentAdd", new Comment())

@foreach (var comment in Model.Comments)
{
    @Html.Partial("_Comment", comment)
}

带箭头的图片显示了我想要实现的目标 img

1 个答案:

答案 0 :(得分:0)

你的语法有点偏吗?试试这个(属性初始化器在构造函数之后,而不是构造函数调用的“参数”):

@Html.Partial("_CommentAdd", new Comment() { PostID = model.ID })