C# Ajax.begin在mvc中呈现错误的url
我试图使用ajax而不是post方法加载div数据。 但它在post操作时返回C# Ajax.begin在mvc中呈现错误的url,c#,jquery,ajax,asp.net-mvc,razor,C#,Jquery,Ajax,Asp.net Mvc,Razor,我试图使用ajax而不是post方法加载div数据。 但它在post操作时返回对象%20HTMLInputElement操作名称 控制器: 看法 如何使用ajax在post请求时仅呈现post操作而不加载整个页面(_layout.cshtml)。您是否可以尝试关闭div标记并在控制器中接收HtmlForgeryToken,如下所示 您还可以通过在Index方法中返回PartialView()来用PartialView填充目标div [HttpPost] [ValidateAntiForgeryT
对象%20HTMLInputElement
操作名称
控制器:
看法
如何使用ajax在post请求时仅呈现post操作而不加载整个页面(_layout.cshtml)。您是否可以尝试关闭div标记并在控制器中接收
HtmlForgeryToken
,如下所示
您还可以通过在Index
方法中返回PartialView()
来用PartialView填充目标div
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(DemoCLass objdemo)
{
return PartialView();
}
<div id="divEmp">
</div>
@using (Ajax.BeginForm("Index", "Challan", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" }))
{
@Html.AntiForgeryToken()
<h3 style="text-align:center;" class="row header">Challan Data</h3>
@Html.Partial("_DateCommonFT")
}
[HttpPost]
[ValidateAntiForgeryToken]
公共行动结果索引(DemoCLass objdemo)
{
返回PartialView();
}
@使用(Ajax.BeginForm(“Index”,“Challan”,新的AjaxOptions{HttpMethod=“POST”,UpdateTargetId=“divEmp”}))
{
@Html.AntiForgeryToken()
查兰数据
@Html.Partial(“\u DateCommonFT”)
}
请使用Ajax。从可以使用OnSuccess方法的表单开始
视图中:-
@using (Ajax.BeginForm("Index", "Challan", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp", OnSuccess = "AjaxForm" }))
{
}
[HttpPost]
public ActionResult Index(DemoCLass objdemo)
{
return json(new {IsSuccess = true},JsonRequestBehavior.AllowGet);
}
在脚本中:-
这里返回来自post控制器的json
function AjaxForm(response){
.....do as uou want...
}
在控制器中:-
@using (Ajax.BeginForm("Index", "Challan", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp", OnSuccess = "AjaxForm" }))
{
}
[HttpPost]
public ActionResult Index(DemoCLass objdemo)
{
return json(new {IsSuccess = true},JsonRequestBehavior.AllowGet);
}
如果您对此有任何疑问,请告诉我使用
PartialView
方法返回没有布局的视图
[HttpPost]
public ActionResult Index(DemoCLass objdemo)
{
return PartialView();
}
如果只想为ajax表单提交返回不带布局标记的html,则可以检查请求头以查看该请求是否为xhr请求Request.IsAjaxRequest()
方法在这里很方便
[HttpPost]
public ActionResult Index(DemoCLass objdemo)
{
if (Request.IsAjaxRequest())
{
return PartialView();
}
else
{
return View();
}
}
很抱歉你面临的问题是什么?我仍然无法理解您当前和预期的行为。请关闭div标记,如@Priya用错误消息/意外行为和预期输出更新您的问题。@Priya您解决了问题吗?如果我的ajax帖子没有击中控制器帖子方法怎么办?错误的url
对象%20HTMLINPUTTELEMENT
检查页面的视图源,查看它为表单生成错误操作属性值的原因。我的假设是,\u DateCommonFT
部分视图呈现的代码破坏了标记。你能试着评论一下,然后再试一次吗?这将有助于您通过对局部视图进行注释来隔离我检查的问题,该视图仅包含一个用于控制后期操作的按钮。但是没有运气。。在对象%20HTMLInputElement上进行渲染
我希望您修复了缺少的div“divEmp”结束标记。我试过(只试过)你在问题中发布的代码,对我来说效果很好。@Shyju我想OP也错过了controller中的[ValidateAntiForgeryToken]
[HttpPost]
public ActionResult Index(DemoCLass objdemo)
{
if (Request.IsAjaxRequest())
{
return PartialView();
}
else
{
return View();
}
}