Это действие выполнено с помощью сообщения. Разве вы не хотите, чтобы параметры передавались как часть формы, а не как URL?
Если вы этого хотите, я полагаю, вы могли бы выполнить RedirectToAction для действия edit GET, которое содержит noteId и customerId. Это фактически сделает ваше действие похожим на это:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditNote(Note note)
{
if (ValidateNote(note))
{
_customerRepository.Save(note);
return RedirectToAction("Notes", "Customers", new { id = note.CustomerID.ToString() });
}
//It's failed, so do a redirect to action. The EditNote action here would point to the original edit note url.
return RedirectToAction("EditNote", "Customers", new { id = note.CustomerID.ToString() });
}
Преимущество этого состоит в том, что вы устранили необходимость дублировать код, который получает клиент, заметки и записи. Недостатком (хотя я не вижу, где он это делает) является то, что вы не возвращаете ошибки проверки.