У меня есть простая HTML-форма с несколькими полями ввода. Когда я нажимаю сохранить, он находит правильный метод, но данные странные. Когда у меня есть имя поля формы, совпадающее с именем поля в маршруте, переданное значение - это мои данные поля формы, а не данные маршрута.
например.
Представьте, что у вас следующий маршрут.
// Both Get/Post
routes.MapRoute(
"User-Edit",
"user/{displayName}/edit",
new { controller = "Account", action = "edit" });
и следующий метод ...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit([Bind(Exclude = "UserId")]string displayName,
FormCollection formValues)
{...}
Теперь обратите внимание, как у маршрута есть переменная displayName
, а у действия контроллера также есть аргумент, называемый displayName
? Ну, данные аргумента - это данные из формы, а НЕ из маршрута.
Я не уверен, как я могу убедиться, что данные аргумента являются данными маршрута?
Это единственное исправление для меня, чтобы переименовать переменную маршрута с displayName
на routeDisplayName
или что-то еще?