У меня есть действие, которое выглядит следующим образом:
public ActionResult NewPicture(int id)
{
var response = service.Get(id);
if (!response.Succeed)
return Error(response.MainError.ErrorType);
return ManagementView("/Gallery/EditPicture.cshtml", new PictureSaveViewModel() { Id = 0, GalleryId = id });
}
В PictureSaveViewModel
GalleryId
относится к родительской галерее, а Id
- это идентификатор изображения. Поскольку это NewPicture
действие, для Id
установлено значение 0, а для GalleryId
установлено значение id
. В представлении у меня есть форма, которая содержит несколько входов для PictureSaveViewModel
.
@Html.HiddenFor(model => model.Id)
@Html.HiddenFor(model => model.GalleryId)
Вот два скрытых ввода для Id
и GalleryId
для указанной модели. Я ожидаю, что скрытый файл Значение Id
будет равно 0, а значение GalleryId
будет равно id
параметра. Но когда я называю это действие /Gallery/NewPicture/82
, значение обоих скрытых полей равно 82
<input data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="Id" name="Id" type="hidden" value="82">
<input data-val="true" data-val-number="The field GalleryId must be a number." data-val-required="The GalleryId field is required." id="GalleryId" name="GalleryId" type="hidden" value="82">
Я не знаю, что это происходит. Я событие попытался @Html.Hidden("Id" ,@Model.Id)
, но все же результат. Другие входные поля, такие как title, description, ....
, работают нормально.