0

JavaScript 内聚是如何发挥作用的?让我更好地解释一下:我有我的索引页面,它使用 jquery 对话框调用模型表单,但我不想将所有 javascript 放在索引页面中,而是希望 jquery 单独用于页面。

模型形式

在此处输入图像描述

这部作品

    INDEX PAGE
        @section Scripts
        {
        <link href="@Url.Content("~/Content/themes/base/minified/jquery-ui.min.css")" rel="stylesheet" type="text/css" />
        <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.min.js")" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready
            (
                function () //<--I dont want this function here
                {
                    Alert1();
                }
           $(".Create").live
            (
                "click", function (e) {
                    var url = $(this).attr('href');

                    $("#dialog-view").dialog
                (
                    {
                        title: 'Create new User',
                        autoOpen: false,
                        resizable: false,
                        height: 600,
                        width: 600,
                        show: { effect: 'drop', direction: "up" },
                        modal: true,
                        draggable: true,
                        open: function (event, ui) {
                            $(this).load(url);
                        },
                        buttons:
                        {
                            "Cancel": function () 
                            {
                                $(this).dialog("close");
                            },
                            "Save": function () 
                            {
                                $(this).dialog('close');
                            }
                        },
                        close: function (event, ui) {
                            $(this).dialog('close');
                        }
                    }
                );
            );
            function Alert1() //<--I dont want this function here
            {
                alert("Star!");
            }     

        </script>
        }

应该如何工作

INDEX PAGE
    @section Scripts
    {
    <link href="@Url.Content("~/Content/themes/base/minified/jquery-ui.min.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.min.js")" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready
        (
       $(".Create").live
        (
            "click", function (e) {
                var url = $(this).attr('href');

                $("#dialog-view").dialog//<--Only opening dialogs
                (
                    {   ....
        );    

    </script>
    }

并根据您的具体情况对表单进行建模

 @section Scripts
    {
    <link href="@Url.Content("~/Content/themes/base/minified/jquery-ui.min.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.min.js")" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready
        (
            function () 
            {
                Alert1();
            }
        );
        function Alert1() 
        {
            alert("Star!");
        }        
    </script>
    }

实际上,当我制作它时,模型 javascript 不起作用。

我正在使用实体框架,感谢您所做的一切。

解决方案

    <script type="text/javascript">
        $(document).ready
        (
            function () 
            {
                Alert1();
            }
        );
        function Alert1() 
        {
            alert("Star!");
        }        
    </script>
4

1 回答 1

1

只需从模型文件中删除“脚本”{} 部分。您必须仅在索引页面中调用 renderSection("scripts") 方法,该方法只会在索引页面加载时呈现脚本文件并忽略加载的任何新脚本。

<script type="text/javascript"> 
    $(document).ready 
    ( 
      function () 
      { 
         Alert1(); 
      } 
   ); 
   function Alert1() 
   { 
      alert("Star!"); 
   } 
</script>
于 2013-11-07T14:42:48.323 回答