gpt4 book ai didi

Ajax.BeginForm 不做异步发布

转载 作者:行者123 更新时间:2023-12-04 05:03:23 26 4
gpt4 key购买 nike

我对 Ajax.BeginForm 有很长时间的问题,现在是通过互联网和 SO 进行搜索,但大多数解决方案包括 jquery.unobtrusive-ajax.min或编辑 web.config允许 UnobtrusiveJavaScriptEnabled在我的情况下,这两个都完成了,但我的 ajax 表单仍然在做一个完整的回发,不明白为什么。

View

@using (Ajax.BeginForm("Login", "User", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "loginResult" }, new { @id = "loginForm", @name = "loginForm" }))
{
<span id="loginResultx">@(TempData["loginResult"] != null ? TempData["loginResult"].ToString() : "")</span>
<span id="loginResult"></span>
<span>
@Html.Label("User Id")
@Html.TextBox("id")</span>
<span>@Html.Label("Password")
@Html.Password("pwd")
</span>
<span>
<input type="submit" value="Submit" />
</span>
}

Controller
public ActionResult Login(FormCollection loginForm)
{
if (Request.HttpMethod == "POST")
{
var id= loginForm["id"];
var pwd = loginForm["pwd"];
bool status = false;
User obj = new User();
status = obj.Login(id, pwd);
if (status)
{
Session["id "] = id;
return RedirectToRoute("Profile");

}

TempData["loginResult"] = "Login Failed";
}
return View();
}

BundleConfig
bundles.Add(new ScriptBundle("~/scr").Include("~/Scripts/jquery-1.7.1.min.js", "~/Scripts/modernizr-2.5.3.js", "~/Scripts/jquery.validate.min.js", "~/Scripts/jquery.unobtrusive-ajax.min"));

最佳答案

你确定不是这条线有问题吗?

bundles.Add(new ScriptBundle("~/scr").Include("~/Scripts/jquery-1.7.1.min.js", "~/Scripts/modernizr-2.5.3.js", "~/Scripts/jquery.validate.min.js", "~/Scripts/jquery.unobtrusive-ajax.min"));

您缺少 ajax 文件中的 .js 包含。你看到了吗?

无论哪种方式,我都会使用 Chrome 检查器/Fiddler 来分析任何 JS 错误或丢失的包含。

关于Ajax.BeginForm 不做异步发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15838179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com