ajax beginForm передавая значение маршрута и значение кнопки - PullRequest
5 голосов
/ 29 марта 2012

Как бы я получил и param1, и param2 на свой контроллер, я пытался так, но пропускается только param1.

  @using (Ajax.BeginForm("Index", "Controller", new { param1 = 0 }, new AjaxOptions { UpdateTargetId = "Target", InsertionMode = InsertionMode.Replace, OnFailure = "error" }))
               {
                    <input type="submit" name="param2" value="1" />
    //more buttons
               }


     public ActionResult Index(int param1, int param2)
            {
               //do something
            }

Ответы [ 3 ]

12 голосов
/ 29 марта 2012
@using (Ajax.BeginForm("Index", "Controller", new { param1 = 0 }, new AjaxOptions { UpdateTargetId =    "Target", InsertionMode = InsertionMode.Replace, OnFailure = "error" }))
           {
                <input type="submit" name="param2" id="param2" value="1" />
//more buttons
           }


 public ActionResult Index(String param1, String param2)
        {
           //do something
        }

Разве это не работает ??

3 голосов
/ 01 июня 2013

Чтобы установить параметры следующим образом:

@using (Ajax.BeginForm("Index", "myController", new { param1 = 0, param2 = 1 }, new AjaxOptions { UpdateTargetId =    "Target", InsertionMode = InsertionMode.Replace, OnFailure = "error" }))
       {
            <input type="submit" />
            //more buttons
       }


    public ActionResult Index(String param1, String param2)
    {
       //do something
    }

вы ДОЛЖНЫ отобразить относительный маршрут в RouteConfig.sc перед `default 'mapRoute:

routes.MapRoute(
            name: "routeName",
            url: "myController/Index/{param1}/{param2}",
            defaults: new { controller = "myController", action = "Index", param1 = UrlParameter.Optional, param2 = UrlParameter.Optional }
        );
0 голосов
/ 29 марта 2012

попробуйте

@using (Ajax.BeginForm("Index", "Controller", new { param1 = 0 **,param2=1** }, new AjaxOptions { UpdateTargetId = "Target", InsertionMode = InsertionMode.Replace, OnFailure = "error" }))
{
    <input type="submit" name="param2" value="1" />
    //more buttons
}

public ActionResult Index(int param1, int param2)
{
    //do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...