2016-12-17 4 views
0

У меня есть метод действия подписи которого:Html.Action не передавая параметр к методу действий

public ActionResult ViewContest(int id, int showNext){ 
//Some code here 
} 

В одном из моих взглядов, у меня есть это:

<a href="@Html.Action("ViewContest", "Home", new { id = Model.UserActivity.UserParticipation.CompetitionId, showNext = 1 })"> 
    <img src="~/Image/RightArrow.png" style="float:right;width:40px;" /> 
</a> 

Когда я бегу программа, представление передает значение «id» правильному методу, но среда выполнения генерирует исключение для showNext, являющегося нулевым. Почему мое значение showNext не переходит к методу? Есть идеи?

+0

Что такое тонированное HTML? –

+0

'@ Html.Action()' вызывает метод сервера. вы создаете ссылку, чтобы вы хотели @ @ Url.Action() ' –

+0

Извините, но я не уверен, если я четко проясню вопрос. Html.Action отображает изображение стрелки, которое при щелчке должно вызвать метод действия для новых данных. Отвечает ли это на вопрос или вы хотите получить код для представления? –

ответ

1

Вы повторно используете неправильный помощник. Для создания URL для ViewContest способа использования Home контроллера:

@Url.Action("ViewContest", "Home", new { id = Model.UserActivity.UserParticipation.CompetitionId, showNext = 1 }) 

Так в конце концов ваш код должен выглядеть так:

<a href="@Url.Action("ViewContest", "Home", new { id = Model.UserActivity.UserParticipation.CompetitionId, showNext = 1 })"> 
    <img src="~/Image/RightArrow.png" style="float:right;width:40px;" /> 
</a> 
+0

Спасибо всем за их вклад. –

Смежные вопросы