Jquery ui Firefox“;未定义jQuery";asp.net mvc 3中出现错误
我使用asp.net mvc,也使用jQuery ui对话框,我在jQuery对话框中显示partialview,但是Firefox在下面这两个文件中给了我一个错误。我将Ajax.BeginForm()发布到服务器。在第一篇文章中,它运行良好,但在第二篇文章中,它破坏了我的对话Jquery ui Firefox“;未定义jQuery";asp.net mvc 3中出现错误,jquery-ui,asp.net-mvc-3,jquery,Jquery Ui,Asp.net Mvc 3,Jquery,我使用asp.net mvc,也使用jQuery ui对话框,我在jQuery对话框中显示partialview,但是Firefox在下面这两个文件中给了我一个错误。我将Ajax.BeginForm()发布到服务器。在第一篇文章中,它运行良好,但在第二篇文章中,它破坏了我的对话 jquery.validate.min.js jquery.validate.unobtrusive.min.js 错误:未定义jQuery 我在IE中没有这个问题,请帮忙 @model MvcSmkApplicat
- jquery.validate.min.js
- jquery.validate.unobtrusive.min.js
@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>
@model MvcSmkApplication.Models.LoginModel
@使用(Ajax.BeginForm(“AuthenticateUser”、“Members”),新的AjaxOptions
{
HttpMethod=“POST”,
InsertionMode=InsertionMode.Replace,
UpdateTargetId=“LoginForm”,
OnSuccess=“OnSuccess”,
}))
{
@Html.ValidationSummary(true)
@LabelFor(model=>model.EmailAddress)
@Html.EditorFor(model=>model.EmailAddress)
@Html.ValidationMessageFor(model=>model.EmailAddress)
@LabelFor(model=>model.Password)
@Html.EditorFor(model=>model.Password)
@Html.ValidationMessageFor(model=>model.Password)
@foreach(ViewData.ModelState.Values中的ModelState ModelState)
{
foreach(modelState.Errors中的ModelError错误)
{
@error.ErrorMessage
}
}
}
函数OnSuccess(e){
如果(e[“成功”]=“正确”){
$(“对话框”)。对话框(“关闭”);
location.reload();
}
否则{
//警报(“错误”);
}
}
您可以尝试以下方式引用脚本:
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
您可以尝试以下方式引用脚本:
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
这是我经过3周研究后发现的解决方案
<script type="text/javascript">
function OnSuccess(e) {
if (e["success"] == "true") {
$("#dialog").dialog("close");
location.reload();
}
else {
$("#dialog").html(e);
return false;
}
}
</script>
函数OnSuccess(e){
如果(e[“成功”]=“正确”){
$(“对话框”)。对话框(“关闭”);
location.reload();
}
否则{
$(“#dialog”).html(e);
返回false;
}
}
这是我经过3周研究后发现的解决方案
<script type="text/javascript">
function OnSuccess(e) {
if (e["success"] == "true") {
$("#dialog").dialog("close");
location.reload();
}
else {
$("#dialog").html(e);
return false;
}
}
</script>
函数OnSuccess(e){
如果(e[“成功”]=“正确”){
$(“对话框”)。对话框(“关闭”);
location.reload();
}
否则{
$(“#dialog”).html(e);
返回false;
}
}
您是否检查了FF中的HTML源代码?请检查脚本文件的路径是否正确。还可以尝试使用源代码中的路径访问脚本,并将其粘贴到浏览器中。您是否在页面中也引用了jquery和jquery UI?在您提供的代码中的任何位置都看不到它们。可能它们在您的布局中被引用了?如果是这种情况,您是否已使用FireBug验证您提供给这些脚本的路径是否正确,以及服务器是否未返回404错误?是的,它们在布局中,路径是否正确。我使用了@Url.content,但结果是一样的。你检查过FF中的HTML源代码吗?请检查脚本文件的路径是否正确。还可以尝试使用源代码中的路径访问脚本,并将其粘贴到浏览器中。您是否在页面中也引用了jquery和jquery UI?在您提供的代码中的任何位置都看不到它们。可能它们在您的布局中被引用了?如果是这种情况,您是否已使用FireBug验证您提供给这些脚本的路径是否正确,以及服务器是否未返回404错误?是的,它们在布局中,路径是否正确。我使用了@Url.content,但结果是一样的。谢谢你的回复,两种方式都会产生这样的结果:gibson你能看看我所有的新评论吗?@caseywillams@scottm嗨,伙计们,你能看看我的问题吗。谢谢你的回复,这两种方式都会产生这样的结果:吉布森,你能看看我所有的新评论吗?@caseywillams@scottm嗨,伙计们,你能看看我的问题吗。