1

JQuery 2.0.1 にアップグレードした ASP.NET MVC3 アプリがありますが、残念ながらこれには不快な副作用がありました。(詳細はこちら

現在、未解決の問題が 1 つだけあります。@Ajax.ActionLink によって生成された HTML リンクは、適切な js コードを呼び出さず、代わりにブラウザーによって通常のリンクとして扱われます。

問題のページには、次の js ファイルが含まれています。

<script src="/Scripts/jquery-2.0.1.min.js" type="text/javascript"></script>
<script src="/Scripts/modernizr-2.6.2.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.10.3.min.js" type="text/javascript"></script>

<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript">script>
<script src="~/Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript">   </script>

別の問題を解決するためにファイルを手動で更新する必要がありましたjquery.unobtrusive-ajax.min.js(に置き換えliveonください)。

次のAjax.ActionLinkように見えます。

@Ajax.ActionLink("Delete", "Delete", "InputResources",
                new { id = Model[i].ID },
                new AjaxOptions
                {
                    HttpMethod = "DELETE",
                    Confirm = "Are you sure you want to delete?",
                    OnComplete = "window.location.href='/Projects/InputResources/" + ViewBag.ProjectID + "'"
                })

生成された HTML は健全に見えます。

<a href="/InputResources/Delete/5" data-ajax-method="DELETE" data-ajax-confirm="Are you sure you want to delete?" data-ajax-complete="window.location.href='/Projects/InputResources/2'" data-ajax="true">Delete</a>

このリンクを再び正しく機能させるために、どのjsファイルとどのように変更する必要があるかを誰かが提案できますか?

4

1 に答える 1

1

これが私のためにそれを解決したものです:

これにより、jquery 検証スクリプトが最新バージョンに更新されます。

PM> Install-Package jQuery.Validation 

これにより、jquery の控えめな検証スクリプトが最新バージョンに更新されます。

PM> Install-Package jQuery.Ajax.Unobtrusive

jquery ライブラリの後に両方がページに含まれていることを確認してください。これを行わないと機能しません。

于 2013-08-11T14:33:15.620 に答える