首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当部署到WebServer时,Ajax.BeginForm不工作

当部署到WebServer时,Ajax.BeginForm不工作
EN

Stack Overflow用户
提问于 2012-04-03 10:48:19
回答 1查看 459关注 0票数 1

我在我的asp.net mvc网站上有以下视图定义:

代码语言:javascript
复制
<% Using Ajax.BeginForm("UsrCtlChangePassword", "User", Nothing, New AjaxOptions With {.UpdateTargetId = "resultDiv", .InsertionMode = InsertionMode.Replace, .HttpMethod = "Post"}, New With {.id = "myFormID"})%>
<%: Html.ValidationSummary(True, "Invalid details supplied.")%>     

 ...View field definition in here
 ...   

<% End Using%>  

</div>

因此,基本上,当用户输入无效信息(旧密码不匹配)时,不会刷新整个页面,只会刷新targetdiv。

这在我的开发环境中工作得很好。我遇到的问题是,我现在已经将它部署到我的web主机服务器(softsys windows2008服务器)上,并且它不能在部署的服务器上工作。它完全忽略了ajax插入模式逻辑,只返回整个表单。

为什么它只能在开发环境中运行,而不能在部署服务器上运行?我已经检查了所有的all和脚本,一切似乎都在那里。以下是我的bin文件夹中的dll:

我已经在我的web.config中设置了以下密钥(我将UnobtrusiveJavaScriptEnabled更改为true,但这并没有什么不同):

代码语言:javascript
复制
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="false" />

下面是我的site.master中的脚本链接:

代码语言:javascript
复制
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<link href="<%: Url.Content("~/Content/themes/Redmond/jquery-ui.css")%>" rel="stylesheet" type="text/css" />
<script src="<%: Url.Content("~/Scripts/jquery-1.5.1.min.js") %>" type="text/javascript"></script>   
<script src="<%: Url.Content("~/Scripts/modernizr-1.7.min.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/jquery-ui-1.8.11.min.js") %>" type="text/javascript"></script>     
<script src="<%: Url.Content("~/Scripts/jquery.cookie.js") %>" type="text/javascript"></script>
<script type="text/javascript" src="<%: Url.Content("~/Scripts/MicrosoftAjax.js") %>"></script>
<script type="text/javascript" src="<%: Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>"></script>
<script type="text/javascript" src="<%: Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>"></script>   

有什么想法吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-04 05:05:55

我解决了这个问题,结果是我需要在我的site.master中添加以下几行:

代码语言:javascript
复制
<% Html.EnableClientValidation()%>
<% Html.EnableUnobtrusiveJavaScript(False)%>

由于某些原因,我在web.config中设置的密钥在部署到when服务器时被忽略。当我将这些行添加到站点管理员时,一切都正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9986469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档