我想要实现的基本上是在顶部显示一个输入新帖子的表单,然后在表单下方显示一个已经存在的帖子列表。此外,我试图让这个视图有点通用,以便它可以显示不同类型的帖子。
需要明确的是,我所说的帖子是指 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())
被插入。