私はasp.net mvcを使用していますが、jQueryダイアログを使用していますが、jQueryダイアログでpartialviewを表示していますが、以下のファイル。私はサーバーにAjax.BeginForm()を投稿します。最初の投稿ではうまくいきましたが、投稿時にはダイアログが破棄されます。asp.net mvc 3のFirefox "jQueryが定義されていません"エラー
jquery.validate.min.js
jquery.validate.unobtrusive.min.js
エラー:jQueryのは、私はこれを持っていけない
を定義されていません。 IEの問題、お手伝いください。
@model MvcSmkApplication.Models.LoginModel
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Ajax.BeginForm("AuthenticateUser", "Members", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "LoginForm",
OnSuccess = "OnSuccess",
}))
{
<div id="LoginForm">
@Html.ValidationSummary(true)
<fieldset>
<legend></legend>
<div class="editor-label">
@Html.LabelFor(model => model.EmailAddress)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EmailAddress)<br />
@Html.ValidationMessageFor(model => model.EmailAddress)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Password)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Password)<br />
@Html.ValidationMessageFor(model => model.Password)
</div>
@foreach (ModelState modelState in ViewData.ModelState.Values)
{
foreach (ModelError error in modelState.Errors)
{
<div style="color: Red;">@error.ErrorMessage</div>
}
}
<div style="float: right;">
<input type="submit" value="Login" class="buttonAsLink" />
</div>
</fieldset>
</div>
}
<script type="text/javascript">
function OnSuccess(e) {
if (e["success"] == "true") {
$("#dialog").dialog("close");
location.reload();
}
else {
//alert('error');
}
}
</script>
FFでHTMLソースを確認しましたか?スクリプトファイルへのパスが正しいかどうか確認してください。また、ソースからのパスを使用してスクリプトにアクセスし、ブラウザに貼り付けてみてください。 – ChristiaanV
あなたのページでjqueryとjqueryのUIも参照しましたか?あなたが提供したコードのどこにでもそれらを見ることはできません。あなたのレイアウトで参照されているかもしれませんか?この場合、FireBugでそれらのスクリプトに提供したパスが正しいこと、そしてサーバが404エラーを返さないことを確認しましたか? –
はい、レイアウトにあり、パスは正しいです。 @ Url.contentを使用しましたが、結果は同じです。 – Eric