2

わかりました、それで私はこれを理解しようと一日中過ごしました-しかし私はできません!これが私の問題です。

ASP.NETMVC4とRazorを使用しています。私の目標は、いくつかの基本的なAjaxを実行することです。私がやりたいのは、Ajaxが機能していることを証明するためにAjaxリンクによって更新されるdivをページに置くことだけです。

この問題は、Ajaxを機能させるために必要なスクリプトファイルに関係していると思います。デフォルトでは、スクリプトディレクトリすら持っていなかったので、スクリプトディレクトリを作成し、MicrosoftAjax.js、MicrosoftMvcAjax.js、jquery.unobtrusive-ajax.min.jsを見つけて、ヘッド内の_Layout.cshtmlに参照を追加しました。

これが私が持っているものです:

私の_Layout.cshtmlには、頭の中に次のものがあります

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

私のHomeController.csには次のものがあります。

    [HttpGet]
    public string GetStatus()
    {
        return DateTime.Now.ToLongTimeString();
    }

私のAbout.cshtmlファイルの中に、私は次のものを持っています:

  @Ajax.ActionLink("Ajax Test", "GetStatus", new AjaxOptions{UpdateTargetId="testtarget", HttpMethod = "Get"})`enter code here`
< div id="testtarget">Test Div</div>

アプリケーションをコンパイルすると、「AjaxTest」リンクと「TestDiv」テキストが表示されます。

「AjaxTest」をクリックすると、Home / GetStatusにリダイレクトされ、現在の時刻が空白のページに印刷されます。

これは明らかに私が期待したものではありません

4

2 に答える 2

0

まあ、私はそれを理解しました-

MicrosoftAjax javascriptファイルはMVC2以降は使用されなくなりました。代わりに、jqueryとjqueyr.unobtrusive-ajax.minを頭に追加するだけで、まったく同じコードが機能します:)

于 2012-07-06T15:23:36.743 に答える
0

この投稿で回答を探している人のために、私も追加します。目立たないライブラリが機能するようにweb.configを適切に構成していることを確認してください

<appSettings>
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

于 2014-10-09T09:48:16.757 に答える