基于href定义发回多个Param to Action Method

时间:2012-03-29 18:59:58

标签: asp.net-mvc-3

我在我的标记中定义了这个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 });

如何发送dealerId和userId以及我在url(href)中指定的fileName?

2 个答案:

答案 0 :(得分:0)

这应该这样做:

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

答案 1 :(得分:0)

你的路线必须包括,因为它确实是carName。假设您的其他路由工作正常,请尝试:

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