Отправить более одного параметра в ActionMethod на основе определения href - PullRequest
1 голос
/ 29 марта 2012

В моей разметке определен этот href:

    foreach (Car car in Model.Cars)
    {
        <p><a href="/Admin/Car/@car.Name/Url/">@car.Name</a></p>
    }

Маршрут фактически связан с методом действия, который ожидает 3 параметра:

public string GetCarUrl(int dealerId, string carName, int userId)

Маршрут выглядит так:

context.MapRoute("AdminLessonsDownloadFile", ""/Admin/Car/{carName}/Url/", new { controller = "Car", action = "GetCarUrl", carName= UrlParameter.Optional });

Как мне отправить идентификатор дилера и идентификатор пользователя вместе с именем файла, которое я указываю в URL (href)?

Ответы [ 2 ]

0 голосов
/ 29 марта 2012

Ваш маршрут должен включать тогда, как это делает carName.Предполагая, что остальная часть вашей маршрутизации работает, попробуйте это:

context.MapRoute("AdminLessonsDownloadFile", 
    ""/Admin/Car/{carName}/{dealerId}/{userId}", 
    new { controller = "Car", action = "GetCarUrl", carName= UrlParameter.Optional, dealerId = UrlParameter.Optional, userId=UrlParameter.Optional }
);
0 голосов
/ 29 марта 2012

Это должно сделать это:

foreach (Car car in Model.Cars)
{
    <p><a href="/Admin/Car/@car.Name/Url/?@car.DealerId&@car.UserId">@car.Name</a></p>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...