【发布时间】:2015-07-09 22:56:02
【问题描述】:
我正在开发一个 MVC4 应用程序,在 Visual Studio 服务器上一切正常,例如“客户端”验证消息。
但是当我发布这个项目并在 IIS 中进行部署时,它根本不工作,与解决方案混淆。是否需要添加任何代码或 IIS 配置问题?这是 UI 块代码,我使用的是 Jquery-1.9.1,请帮帮我。我可能缺少 IIS 配置(如果有的话)吗?
@Html.LabelFor(model => model.Zip)
<span style="float:right;">@Html.EditorFor(model => model.Zip)</span><br>
<span style="float:right;">@Html.ValidationMessageFor(model => model.Zip)</span><br>
在模型中:
[DisplayName("Zip")]
[StringLength(5, ErrorMessage = "Length can't be more than 5.")]
[RegularExpression("([0-9]{5})", ErrorMessage = "Enter valid 5 digit numeric values")]
public string Zip { get; set; }
【问题讨论】:
-
可能是JS库文件加载不正确。您是否检查过路径是否正确,并且控制台中没有错误?
-
@Rory 我在浏览器控制台中得到了这个.. TypeError: n(...).live is not a function ...iveAjaxClick",f="unobtrusiveValidation";n("a[data -ajax=true]").live("click",func...为此,我通过删除不推荐使用的 .live() 代码对 unobstructive.ajax.js 文件进行了更改..但仍然没有运气
-
live()在 很久 之前已从 jQuery 源代码中删除。听起来您需要更新您在本地副本中使用的 jQuery 版本,并改用on()的委托版本。 -
by removing deprecated .live() code您是否删除了该代码或将其替换为on?还可以尝试将所有出现的live替换为on。然后尝试清除浏览器缓存。 -
是的,正如我用谷歌搜索的那样。我根据需要从 jquery.unobtrusive-ajax.js 中删除了那些已弃用的函数,并将我本地的相同副本发布到 IIS。
标签: java jquery asp.net-mvc model-view-controller iis-7