【发布时间】:2011-11-19 19:57:19
【问题描述】:
我正在提交一个 Ajax 表单,但是当它到达控制器时,Request.IsAjax 返回 false,因此我的页面会重定向。有人知道它为什么会这样做吗?
我已经搜索了互联网并确保:
-
我在
<appSettings>下的 web.config 中有以下内容:<add key="UnobtrusiveJavaScriptEnabled" value="true" /> -
通过查看源代码,我在运行时的页面中有以下脚本:
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript" /> <script src="/Scripts/modernizr-1.7.min.js" type="text/javascript" /> <script src="/Scripts/jquery-ui-1.8.11.min.js" type="text/javascript" /> <script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript" /> <script src="/Scripts/jquery.validate.min.js" type="text/javascript" /> <script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript" />
不确定这是否是一条红鲱鱼,但我会提到它,因为我在这里碰壁了——当我在谷歌浏览器中查看源代码时,只有第一个脚本的颜色被格式化,这让我觉得我没有语法不正确 - 但它看起来对我来说是正确的! 救命!
【问题讨论】:
-
能贴出AjaxForm代码吗
-
好的,到此为止:
<form action="/Item/TestAjaxMethod" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#filter-results" id="form0" method="post"> <select id="myId" name="MyItem" onchange="submit()"> <option selected="selected">Option 1</option> <option>Option 2</option> <option>Option 3</option> </select> </form> -
我应该提到我在同一个控制器上的@Ajax.ActionLinks 工作正常,所以脚本必须没问题。一定是别的东西……
标签: ajax asp.net-mvc-3 scripting unobtrusive-javascript unobtrusive