1

我想要实现的基本上是在顶部显示一个输入新帖子的表单,然后在表单下方显示一个已经存在的帖子列表。此外,我试图让这个视图有点通用,以便它可以显示不同类型的帖子。

需要明确的是,我所说的帖子是指 Facebook 状态帖子,而不是 Http-Post。

想象一下,您有一个显示所有帖子的主页,然后您有一个个人资料页面,该页面仅显示与该个人资料相关的帖子。

所以我有我的 _Posts 部分视图,如下所示:

@model IEnumerable<Post>

@Html.Partial("_CreatePost", new Post())

@foreach (var item in Model)
{
    <div class="Post">
        <h5>@item.Title</h5>
        <p>@DateTime.Now.Subtract(item.Date).ToString("mm") minutes ago</p>
        <p>@item.Content</p>
    </div>
}

部分视图的代码是:

@model MVC_Test_CRUD.Models.Post

<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

@using (Html.BeginForm("Create","Post")) {
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>Post</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.Title)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Title)
            @Html.ValidationMessageFor(model => model.Title)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Content)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Content)
            @Html.ValidationMessageFor(model => model.Content)
        </div>

            <p>
                <input type="submit" value="Create" />
        </p>
    </fieldset>
}

我成功地显示了一个帖子列表,我也可以创建新帖子。

我的控制器中还有一个标准的创建操作,这会导致

return RedirectToAction("Index")

如果创建成功。所以我的问题是如何根据位置向控制器发送有关重定向位置(主页/索引或配置文件/索引或其他地方)的附加参数

@Html.Partial("_CreatePost", new Post())

被插入。

4

0 回答 0