Я перечисляю кучу автомобилей с кнопкой рядом с ними, которую при нажатии нужно будет выполнить GET, но она также отправляет модель этого элемента. Имя:
.
@using (Html.BeginForm("GetCarUrl", "Car", FormMethod.Get, new { model = Model }))
{
if(Model.Cars != null && Model.Cars.Count > 0)
{
foreach (CarContent car in Model.Cars)
{
<p>@car.Name</p>
}
<input type="button" value="Get Car Url" class="submit" />
}
Итак, страница отображает кучу гиперссылок и кнопок:
[hyperlink1] [submit]
[hyperlink2] [submit]
[hyperlink3] [submit]
[hyperlink4] [submit]
[hyperlink5] [submit]
...
Когда пользователь нажимает на любую из отправляемых, мне нужно передать обратно соответствующий ей @ car.CarType для этой конкретной гиперссылки
Не уверен, как это сделать. Мой метод действия ожидает @ car.CarType для этой конкретной гиперссылки автомобиля, которая будет отправлена на него
UPDATE
Вот моя разметка:
Html.Hidden("userId", Model.UserId);
Html.Hidden("lessonId", Model.LessonId);
@if(....)
{
foreach (Car car in Model.Cars)
{
using (Html.BeginForm("GetFileDownloadUrl", "Car", FormMethod.Get, new { carFileUrl= car.CarFileUrl}))
{
<p><a href="/Car/@Model.CarId/@Model.UserId/Url">@fileContent.Name</a>
<input type="submit" value="download" name="downloadFile"/>
</p>
}
}
}
А вот метод действия, который нужно нажать, для отправки в userId, CarId и carFileUrl:
[HttpGet]
public string GetFileDownloadUrl(string carFileUrl, int carId, int userId)
{
string downloadUrl = string.Empty;
downloadUrl =GetDownloadUrl(carId, carFileUrl, userId);
return downloadUrl;
}
Вот мой маршрут:
context.MapRoute("CarFileDownload", "Car/{carId}/{userId}/{carFileUrl}", new { controller = "Content", action = "GetFileDownloadUrl", carFileUrl= UrlParameter.Optional, carId = UrlParameter.Optional, userId = UrlParameter.Optional });
Когда я нажимаю кнопку, она не отправляется обратно в мой метод действия GetDownloadUrl.
Я не знаю, правильно ли у меня настроен маршрут с точки зрения того, нужно ли мне устанавливать все эти необязательные параметры, а затем в моем BeginForm нужно указывать все их снова или нет, так как у меня есть некоторые из них как скрытые поля отправляются обратно? Не уверен, почему в этом случае он не затрагивает мой метод действия GetFileDownloadUrl ...