1
如何創建一個部分視圖與表格文章,我打算在幾個地方使用?創建一個部分視圖與一個表格文章,計劃在幾個地方使用
部分視圖將具有一種可在數據存儲器中創建條目並在此表單下顯示持久數據的表單。 所以在提交表單之後,我會在窗體下看到我的表單,而不用切換父視圖。 如果模型無效,錯誤也會顯示。這裏的訣竅是,如何在不創建動作的情況下保留在當前頁面中 在顯示局部視圖的每個視圖的控制器中?
我會在10個不同的父視圖中使用這個局部視圖。
下面,我提供了一些可以幫助社區準確理解問題的代碼。
我應該如何配置我的代碼才能實現我的目標。
感謝
這是局部視圖樣品
@model ViewModels.CommentViewModel
@using (Html.BeginForm("Index", "Comment", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary()
<div class="form-group">
<label class="control-label col-md-2">Please Type Your Name</label>
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>
</div>
<input id="addComment" type="submit" value="Add" />
</div>
}
@foreach (var item in Model.Comments)
{
<p>
@item.Name
</p>
}
這裏是控制器
public PartialViewResult Index(int id)
{
var model = new CommentViewModel() { Comments= db.Comments.Where(x=> x.NewsId == id && x.isApproved== true)};
return PartialView("_Comments", model);
}
[HttpPost]
public PartialViewResult Comment(int id, CommentViewModel model)
{
if (ModelState.IsValid)
{
var comment = new Comment()
{
Name = model.Name,
Title = model.Title,
CommentContent = model.Content,
Email = model.Email,
CreationDate = DateTime.Now,
RefId = Guid.NewGuid(),
isApproved = false,
NewsId = id
};
db.Comments.Add(comment);
db.SaveChanges();
return PartialView();
}
return PartialView();
}
這不是服務器端的問題,你有沒有考慮過在需要時使用一些javascript來包含html元素?很多Framework實現了這個,我使用的是angularjs,它避免了卡住建模靜態頁面服務器端 – Charlie 2014-11-04 13:50:19