在我的ASP中。 Net MVC 3.0项目。 我有Telerik Grid。
在网格单元格中我从部分视图加载内容,其中包含Ajax表单。 (对于网格的一列中的每个单元格)
当我提交该表格时。
Ajax表单正在打开新页面而不是更新目标ID。
我正在加载所需的脚本
<script src="@Url.Content("~/Scripts/jquery-1.6.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
这些脚本加载在母版页(_Layout.cshtml)
上我的Web.config
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
我在这个项目的大多数地方都使用过Ajax表单。 它在所有这些地方都很完美。
如果我可以从telerik网格提交ajax表单,那么任何线索
更多详情
控制器
public JsonResult AddRemoveThisLocation(int LocationID, FormCollection collection, string button)
{
return Json(new
{
success = _success,
message = _message
}, JsonRequestBehavior.AllowGet);
}
}
使用.loadContentfrom()方法
将部分视图加载到Telerik网格中@using(Ajax.BeginForm("AddRemoveThisLocation", "Controller", new { LocationID = Model.AddressID }, new AjaxOptions {
OnBegin="ValidateNumbers",
HttpMethod = "POST",
OnSuccess = "ShowSignUpStatus"} ))
{
@Html.TextBoxFor(model => model.Phone, new { id="phone"+Model.AddressID, name="Phone" })
<input type="submit" value="Add" class="button" name="button" id="@(Model.AddressID)" />
}
答案 0 :(得分:0)
试试这个:
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult AddRemoveThisLocation(int LocationID, FormCollection collection, string button)
{
return Json(new
{
success = _success,
message = _message
}, JsonRequestBehavior.AllowGet);
}
}
答案 1 :(得分:0)
我有类似的问题。并且解决方案是确认没有重复的jQuery引用 并检查这些是否正确加载。
<script src="@Url.Content("~/Scripts/jquery-1.6.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
那应该解决你的问题。