2

私は長い間Ajax.BeginFormに問題を抱えていますが、インターネットとSOで検索していますが、私の場合は両方が行われていることを許可するための組み込みjquery.unobtrusive-ajax.minまたは編集のほとんどのソリューションですが、それでも私のajaxフォームは完全なポストバックを行っており、できません理由を理解してください。web.configUnobtrusiveJavaScriptEnabled

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"));
4

1 に答える 1

3

問題があるのはこの行ではありませんか?

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 インスペクター/フィドラーを使用して、JS エラーや欠落しているインクルードを分析します。

于 2013-04-05T19:39:45.143 に答える