asp.net mvc从url获取id

时间:2010-12-28 20:18:06

标签: asp.net-mvc

好吧我有一个创建/索引/ 23视图。索引控制器中的create方法在网格中触发下拉事件时获取id的值。没问题

但我的页面中也有搜索选项,它也有ajax.beginform。 单击那里的按钮并在索引控制器中调用搜索方法没有url中存在的id值。我将如何获得控制器中的id值。我希望这个问题很清楚。

编辑:这是此处的代码片段,单击此处的按钮将触发Controller中的Search方法(未获取id值)

Create.aspx

   <% using (Ajax.BeginForm("Search", new AjaxOptions { UpdateTargetId = "divGrid", OnComplete = "OnComp" }))     {%>

<%:  Html.DropDownList("SelectedsItem", JobHelper.JobSelectStatusDropDown() as IEnumerable<SelectListItem>)%>
<input type="submit" value="Search" />

&lt;%}%&gt;

 <% if (Model.Count() > 0)
 { %>
 <div id="divGrid"> 
    <% Html.RenderPartial("Manage", this.Model);  %>
 </div>
   <% } %>

使用global.asax

解决

1 个答案:

答案 0 :(得分:1)

您需要控制器操作中的参数来捕获ID

类似这样的事情

public ActionResult Index(int id) {...}

对于使用jquery的AJAX请求,您可以执行此操作

public JsonResult Search(int id) {...}

在你的jQuery中

$.ajax({
    type: 'POST',
    url: '/Controller/Search/',
    data: "{'id': '" + yourIDGoesHere + "' }",
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function(data) {},
    error: function(e) {}
});

查看这篇文章,详细了解我想要实现的目标

http://davidhayden.com/blog/dave/archive/2009/05/19/ASPNETMVCAjaxBeginForm.aspx