4

次のスクリプトを実行します。文字列'/Home/Index'に注意してください。T4MVCを使用して、これを指定してマジックストリングを取り除く方法はありますか?

<script type="text/javascript">
    $(document).ready(function () {
        $dialog = $('#dialog');
        $dialog.dialog({
            autoOpen: false,
            buttons: { },
            open: function(event, ui) {
                $(this).load("/Home/Index");
           }
        });
    });
</script>
4

3 に答える 3

7

ビューがRazorを使用している場合はこれです

@Url.Action(MVC.Home.Index())

したがって、スクリプトは次のようになります

<script type="text/javascript">
        $(document).ready(function () {
            $dialog = $('#dialog');
            $dialog.dialog({
                autoOpen: false,
                buttons: {},
                open: function (event, ui) {
                    $(this).load("@Url.Action(MVC.Home.Index())");
                }
            });
        });
</script>
于 2011-10-18T05:42:32.960 に答える
3

スクリプトが別の.jsファイル(Razorビューではない)にある場合は、T4MvcJSを使用してそのケースを処理できます。

Skuldの例とほぼ同じように見えます。

$(this).load(MvcActions.Home.Index());

しかし、それは純粋なJavascriptになります。

(T4MvcJsはjsヘルパーを生成します-T4MVCと非常によく似ています)

于 2012-02-05T15:14:09.323 に答える
-1

次のようなことをします

$(this).load('<%:Url.Action("index","home") %>');
于 2011-10-18T04:22:47.587 に答える