【问题标题】:ASP.NET - What is the best way to keep jquery from cluttering up my ASPX files?ASP.NET - 防止 jquery 弄乱我的 ASPX 文件的最佳方法是什么?
【发布时间】:2009-07-13 07:17:46
【问题描述】:

我开始使用越来越多的 jquery。我正在使用对话框,每个对话框(包括 javascript)都占用了 20-30 行代码。有几页我将有超过 5 个对话框。这很快就会变得丑陋。我什至还没有开始接触滑动界面或日历控件。

我有更多的 PHP 背景...在这些情况下,我会将内容移至“包含”文件。我可以看到它适用于 ASP.NET 中的 jquery-dialogs 等项目,但是当我开始将 jquery 功能添加到实际的 ASP.NET 表单项目时......这不是一个选项(据我所知)。

如何防止多余的 javascript 和多余的浮动 div 将我的 ASPX 文件弄得一团糟?

我准备将 ASPX 文件划分为有据可查的不同部分……这只会产生一个非常“高”的文件。有更好的解决方案吗?

谢谢。

【问题讨论】:

    标签: asp.net javascript jquery


    【解决方案1】:

    您可以将 javascript 代码放入单独的 js 文件中。然后在页面中引用 js 文件。

    【讨论】:

    • 在我这里,我们还将 js 放入页面的命名空间中。例如。主页 js 类似于“Home.DoMagic()”
    【解决方案2】:

    我不确定您是如何构建 .NET 和标记的,但我会使用外部 JavaScript 文件来处理所有这些,而不是内联 JavaScript。这就是我们在这里的工作方式,到目前为止没有任何问题,标记、CSS、JavaScript 和 .NET 很好地分离。

    如果您有特定类型的对话框,请在标记中使用类名,然后在 JavaScript 包含文件中使用类作为选择器来创建对话框。

    【讨论】:

      【解决方案3】:

      让我们看看...

      1. 由于您使用的是 jQuery,因此您必须知道脚本 src 语法才能包含 javascript 文件,所以我认为这不是问题:)。

      2. 对于那些 ASP.NET 创建的讨厌疯狂的控件 ID... 将它们缓存在页面末尾的 JavaScript 全局变量中...例如:

        <script>
          ControlIDs = {
            SaveButton = '<%=SaveButton.ClientID%>',
            BlahTextBox = '<%=BlahTextBox.ClientID%>'
          }
        </script>
        

      在您单独的 jQuery 代码文件中,执行...

      $(ControlIDs.SaveButton).Whatever()
      

      3。而不是使用 ASP.NET 控件 ID,也许您想尝试在 jQuery 中使用 CSS 类名称作为选择器来获取特定控件(将类名称视为控件 ID),这可能不是一个理想的想法,但它可以工作.

      其中任何一个都应该允许您进行某种程度的 Javascript 分离。

      【讨论】:

        猜你喜欢
        • 2012-09-11
        • 2013-03-25
        • 2016-12-19
        • 2011-01-07
        • 1970-01-01
        • 2010-09-14
        • 1970-01-01
        • 2021-04-10
        • 1970-01-01
        相关资源
        最近更新 更多