2010-04-07 4 views
15

Я использую Ajax.ActionLink для вызова Action в контроллере, там ничего особенного. Я хочу передать два параметра в действие. Возможно ли использование Ajax.ActionLink? Я думал, что это будет просто вопрос в том числе несколько значений в AjaxOptions:Передача нескольких параметров в MVC Ajax.ActionLink

<%= Ajax.ActionLink("Link Text", 
    "ActionName", 
    "ControllerName", 
    new { firstParameter = firstValueToPass, secondParameter = secondValueToPass }, 
    new AjaxOptions{ UpdateTargetId = "updateTargetId"})%> 

Можно ли передать несколько параметров?

Где хорошее место, чтобы узнать больше о AjaxOptions?

ответ

44

В зависимости от перегружать вы выбираете для Ajax.ActionLink, параметр называется routeData может содержать анонимный словарь для различных параметров, которые будут переданы в действие:

<%= Ajax.ActionLink("Link Text", 
    "DoSomething", 
    "AwesomeController", 
    new { foo = "foo1", bar = "bar1" }, 
    new AjaxOptions{ UpdateTargetId = "updateTargetId"})%> 

Это не имеет ничего используйте параметр AjaxOptions, который дает вам некоторое представление о поведении запроса/ответа.

public class AwesomeController 
{ 
    public ActionResult DoSomething(string foo, string bar) 
    { 
     /* return your content */ 
    } 
} 
+0

Это также было полезно, спасибо. – mwright

+0

Как генерировать путь как 'AwesomeController/DoSomething/foo1/bar1' вместо' AwesomeController/DoSomething? Foo = foo1 & bar = bar1' – bjan

+0

Как генерировать путь, подобный этому AwesomeController/DoSomething/foo1/bar1 – user145610

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