Передача значения в HREF в представлении Razor в ASP.Net MVC3 - PullRequest
4 голосов
/ 30 марта 2011
   <a href="@(Html.MyActionHref(controllerName: "MyController", actionName: "MyAction"))">

Приведенная выше строка создает гиперссылку для Razor view. Вспомогательный метод html MyActionHref () создает ссылку. При нажатии на ссылку вызывается метод действия из контроллера. Теперь предположим, что метод контроллера действий, который вызывает эта ссылка, параметризован, т.е.
public ActionResult MyAction(string myParams){}
(Вспомогательный HTML-метод MyActionHref () даже перегружен, чтобы принять три параметра соответственно.)

Как этот дополнительный параметр можно передать в метод действия контроллера из модели?
Скажем,

<a href="@(Html.MyActionHref(controllerName: "MyController", actionName: "MyAction",params: new {....} }))">  

Есть предложения?

Ответы [ 2 ]

20 голосов
/ 30 марта 2011

Почему вы используете такой помощник, когда вы можете просто:

@Html.ActionLink(
    "some text", 
    "MyAction", 
    "MyController", 
    new { myParams = "Hello" }, 
    null
)

, который сгенерирует правильный тег привязки:

 <a href="/MyController/MyAction?myParams=Hello">some text</a>
7 голосов
/ 30 марта 2011

Вы можете использовать метод Url.Action или скопировать его поведение.

@Url.Action(
   controllerName: "MyController", 
   actionName: "MyAction", 
   routeValues: new { id = 1 }
);

Посмотрите на подпись этого метода, чтобы найти то, что вы хотите сделать.

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