asp.net mvc Web サイトに次のビュー定義があります。
<% 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 Windows 2008 サーバー) にデプロイしたのに、デプロイされたサーバーで動作しないことです。ajax 挿入モードのロジックを完全に無視し、フォーム全体を送り返すだけです。
展開サーバーではなく開発で機能するのはなぜですか? すべてのdllとスクリプトをチェックしましたが、すべてがそこにあるようです。以下は、bin フォルダー内の dll です:
web.config に次のキーを設定しました (UnobtrusiveJavaScriptEnabled を true に変更しましたが、違いはありませんでした):
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="false" />
そして、これは私のsite.masterのスクリプトリンクです:
<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>
何か案は?
前もって感謝します。