Отправить строковый параметр в контроллер (MVC3) из JavaScript (без AJAX) - PullRequest
2 голосов
/ 17 февраля 2012

У меня есть этот простой код JavaScript:

var value = "I love programming";
window.location="Controller/Action/"+value;

На странице контроллера у меня есть это:

public ActionResult(string value) {
   // do something
}

Проблема в параметре value от контроллера.Это всегда ноль.

Почему?

Ограничен ли тип параметра int?(без использования ajax)

Я могу отправить int контроллеру, и он правильно обработает информацию.Но не строка.

1 Ответ

3 голосов
/ 17 февраля 2012

Вам может потребоваться настроить маршрут в global.asax для обработки строкового параметра, т.е.:

RouteTable.Routes.MapRoute(
    "ValueRoute",
    "{controller}/{action}/{value}",
    new
    {
        controller = "Yourcontroller",
        action = "Youraction",
        value = UrlParameter.Optional
    }
);

это все главное, так что может и не случиться с тобой.

[обновление 1] , как вы говорите в комментарии ниже, изменение имени параметра со значения = = id должно решить проблему без обращения к дополнительным маршрутам.

[обновление 2] - вы также можете, согласно комментарию sandeep, выбрать пару имя-значение в URL, т.е. window.location = "Controller / Action? Value =" + yourValue

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