Я не уверен, если об этом уже спрашивали, но здесь идет.
У меня есть приложение MVC с HTML, похожим на это;
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<EnvironmentalVandals.Controllers.MonthlyItemsFormViewModel>" %>
У меня в контроллере следующее:
[Authorize]
public ActionResult Edit(int? id)
{ snip }
Затем на событие кнопки отправки;
[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult Edit(FormCollection collection)
{
CalendarItem fvm = new CalendarItem();
UpdateModel(fvm);
}
Если я обновляю существующее событие, у меня нет проблем. Если я добавляю новое событие, я получаю сообщение об ошибке, что UpdateModel не удалось обновить модель.
Если я удаляю параметр «int? Id» из первого ActionResult, модель обновляется как для новых, так и для существующих событий.
Когда я редактирую событие, я использую следующий HTML; <%=Html.ActionLink("Edit", "Edit", new {id=Model.Event.id}) %>
и когда я создаю новое событие, я использую <%=Html.ActionLink("Add event","Edit", "Calendar") %>
.
Теперь, допустим, мне, вероятно, не следует использовать один и тот же вид для обновления и создания, и, возможно, я должен реорганизовать два вида и PartialView.
Итак, это решение или я что-то не так делаю?
Заранее спасибо.
</griegs>