好吧我有一个创建/索引/ 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
解决答案 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