Назначение свойства контроллера MVC со страницы Asp.Net - PullRequest
0 голосов
/ 23 марта 2010

Я не знаю, правильно ли я понимаю MVC, если мой вопрос не имеет смысла, но я пытаюсь понять следующее:

У меня есть некоторый код на контроллере, который возвращает данные JSON.Данные JSON заполняются на основе выбора из раскрывающегося списка на странице Asp.Net.Я думал (неправильно), что переменные сеанса будут разделены между проектом Asp.Net и проектом MVC.Поэтому я хотел бы сделать (если это возможно) вызов Sub на MVC, который устанавливает переменную перед выполнением запроса JSON.

У меня есть следующее:

Sub SetCountryID(ByVal CountryID As Integer)
    Me.pCountrySelectedID = CountryID
End Sub

Который я могу назвать следующим образом:

Response.Write("http://localhost:7970/Home/SetCountryID/?CountryID=44")

Но тогда получается пустая страница - опять же, очевидно, совершенно неверная!у меня все еще есть чертовски много обучения?

Это вообще возможно?

Ответы [ 2 ]

0 голосов
/ 24 марта 2010

Маршрут по умолчанию будет обрабатывать аргумент id, поэтому ваше действие выглядит следующим образом:

Код, преобразованный вручную из C #, пожалуйста, извините за любые ошибки

Function Lookup(ByVal id as Integer) as JsonResult
     Dim db as New DbDataContext()
     Return Json(GetMyDataAndReturnObject(), JsonRequestBehavior.AllowGet)
End Function

Называйте его таким образом (jQuery)

$.getJSON('/Controller/Lookup/' + $('#SelectId')[0].options[id].value, function(json) {
      processResult(json);
});
0 голосов
/ 24 марта 2010

Если вы публикуете для извлечения вашего объекта json, вы можете опубликовать дополнительное поле, содержащее CountryId, если нет, то просто передайте countryId в виде дополнительной строки запроса и добавьте дополнительный параметр в ваше действие.

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