Как создать частичный вид с сообщением формы, которое я планирую использовать в нескольких местах?создание частичного представления с сообщением формы, которое планирование использования в нескольких местах
Частичный вид будет иметь форму, которая создает запись в хранилище данных и отображает сохраненные данные под этой формой. Итак, после отправки формы я увижу свою запись в сетке, подобной структуре, в форме без переключения родительского представления. Если модель недействительна, будет также показана ошибка. Трюк здесь в том, как я могу остаться на моей текущей странице без создания действия В контроллере каждого представления, которое показывает частичный вид?
Я буду использовать этот частичный вид в виде 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, когда это необходимо? theres много Рамки достижения этого, тот, который я использую, является angularjs, он избегает застревания моделирования статических страниц на стороне сервера – Charlie