Метод действия Param всегда нулевой - PullRequest
1 голос
/ 31 марта 2012

Я не могу понять, почему, когда он попадает в мой метод действия, carFileName имеет значение null.Я отладил представление, и когда я выполняю этот цикл foreach, в каждой итерации этого цикла действительно есть разные значения для carContent.CarFileName.Поэтому для каждой кнопки при отправке она должна отправлять carFileName, связанное с этой конкретной кнопкой.

@if (Model.CarFiles != null && Model.CarnFiles.Count > 0)
{
    @foreach (CarContent carContent in Model.CarFiles)
    {
        using (Html.BeginForm("GetfileDownloadUrl", "Car", FormMethod.Get, new { carId = Model.CarId, userId = Model.UserId, @carFileName = carContent.CarFileName }))
        {
            @Html.Hidden("userId", Model.UserId);
            @Html.Hidden("carId", Model.CarId);
            @Html.Hidden("carFileName", carContent.CarFileName);        
            <p><input type="submit" name="SubmitCommand" value="download" /> @carContent.Name</p>
        }
    }
}

Вот моя подпись метода действия:

[HttpGet]
public string GetFilDownloadUrl(string carFileUrl, int carId, int userId)
{
           ...
}

Вот маршрут:

routes.MapRoute("CarDownloadFile", "Cars/{carId}/{userId}/{carFileName}", new { controller = "Car", action = "GetFileDownloadUrl", carnId = UrlParameter.Optional, userId = UrlParameter.Optional, carFileName = UrlParameter.Optional });   

1 Ответ

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

Может быть потому, что в вашем маршруте вы ссылаетесь на carFileName, но ваш метод действия занимает carFileUrl, и вы carId в вашем RouteValueDictionary пишется carnId

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...