开发者

Passing routeValues to Controller in MVC 3

i have this code in View

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

@Ajax.ActionLink(
    "ok",
    "Info", new { territryID = "#territryID" },
    new AjaxOptions
    {
        InsertionMode = InsertionMode.Replace,
        HttpM开发者_StackOverflow中文版ethod = "POST",
        UpdateTargetId = "post1"
    })

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

and this code in my Controller

   [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);
    }

how to passing my dropdownlist selected value to territryID parameter in controller, how to do that?

thanks, erick


How about this, initialize your URL to something like this (also note the assignment of an id to the link):


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

Replace the placeholder (REPLACEME) when the dropdown changes, like so:


<script>
$('#territryID').change(function () {
    var newid = $('#territryID').val();
    var oldLink = $('#oklink').attr('href');
    var newLink = oldLink.replace('REPLACEME', newid);
    $('#oklink').attr('href', newLink);
});
</script>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜