Передача значения маршрута в контроллер в MVC 3 - PullRequest
2 голосов
/ 04 июня 2011

у меня есть этот код в представлении

    @using (Html.BeginForm())
    {
       @: Location @Html.DropDownList("territryID", (SelectList)ViewBag.Territory,    "choose one")

@Ajax.ActionLink(
    "ok",
    "Info", new { territryID = "#territryID" },
    new AjaxOptions
    {
        InsertionMode = InsertionMode.Replace,
        HttpMethod = "POST",
        UpdateTargetId = "post1"
    })

     <div id="post1">
     </div>
    }

и этот код в моем контроллере

   [HttpPost]
   public ActionResult Info(int? territryID)
   {
        if (territryID == null)
        {
            return RedirectToAction("Info");
        }

        var model = (from c in _db.OCRDs
                     where c.Territory == territryID
                     select c).Distinct();

        return PartialView("_getCustomerByTerritory", model);
    }

как передать выбранное значение в раскрывающемся списке параметру terryID в контроллере, как это сделать?

спасибо, Erick

1 Ответ

1 голос
/ 15 мая 2012

Как насчет этого, инициализируйте ваш URL-адрес примерно так (также обратите внимание на присвоение идентификатору ссылки):


@Ajax.ActionLink("ok", "Info", new { territryID = "REPLACEME" }, new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST", UpdateTargetId = "post1" }, new { id = "oklink" })

Замените заполнитель (REPLACEME) при изменении раскрывающегося списка, например:


<script>
$('#territryID').change(function () {
    var newid = $('#territryID').val();
    var oldLink = $('#oklink').attr('href');
    var newLink = oldLink.replace('REPLACEME', newid);
    $('#oklink').attr('href', newLink);
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...