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-helper - 非常类似于 T4MVC)

于 2012-02-05T15:14:09.323 回答
-1

做类似的事情

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