当前位置 : 主页 > 手机开发 > 其它 >

在重用和逻辑封装方面使用ASP.NET构建JavaScript UI代码的最佳方法是什么?

来源:互联网 收集:自由互联 发布时间:2021-06-19
我无法适应UI JavaScript编码的正确练习.所以我正在寻找一种更聪明的方法来做事.我一直在使用jQuery与ASP.NET,我一直在做类似下面的事情似乎不专业和愚蠢. JavaScript UI编程对我来说一直是
我无法适应UI JavaScript编码的正确练习.所以我正在寻找一种更聪明的方法来做事.我一直在使用jQuery与ASP.NET,我一直在做类似下面的事情似乎不专业和愚蠢. JavaScript UI编程对我来说一直是个谜.我知道怎么做,但我从来不知道如何正确地做到这一点.

$(function(){
    $('submit').click(function() {
        //behaviors, setup styles, validations, blah...
    });
});

问题:

>因此,代码重复通常难以维护和重用
>由于ClientIds是由ASP.NET生成的,因此很难将代码块拖入单独的js文件中
>公共声明放在母版页上,但jQuery文档就绪函数几乎出现在每个其他页面上

目标:

> JavaScript库/框架独立,这样就可以更轻松地切换框架
>封装/调制逻辑以便于重用,因此在每个页面上,它只是几行简单的初始化代码
>关注点分离,易于维护和可读性

问题:

作为一个C#开发人员,我的想法主要是OO和jQuery是非常程序化的.我理解匿名函数的概念,但总的来说,我的想法仍然是尝试创建一个抽象UI然后声明属性或方法的域模型.但我真的不确定这是否是JavaScript中的方式.或者我是太理想还是我太努力去做一些不应该像OO OO那样的东西?所以问题是:

>我应该开始使用JavaScript原型来封装/调制函数并让它更像OO吗?那么可以封装HTML控件或行为以便重用?
>或者我应该开始将逻辑封装到jQuery插件中?但这样代码将100%依赖于jQuery.
>或任何其他方法?

谢谢.

更新:
我刚刚发现这个slide,这似乎是一个很好的起点.
这也是我刚刚发现的good example.和jQuery的创建者good tutorial.

我在代码重用,处理客户端ID等方面找到的最好的技术是在我的Javascript中引入一种更面向对象的方法.

这具有以下好处

>更容易在同一页面上引入范围和同一事物的多个实例
>更容易管理客户端ID闹剧

我仍然在其中使用Jquery.

所以举一个例子,如果我有一个基于javascript的widgit我想利用我会创建一个名为widget的“对象”并将其保存在Widget.js文件中.小部件对象将具有实例变量,构造函数和公共,私有方法,就像任何其他OO语言一样,例如Widget.js看起来像

// constructor
function Widget(aFooId,bBarId)  
{
 // instance variables  
 var fooId = aFooId;  
 var barId = bBarId;  

 // some magic to expose public methods  
 this.Init = Init;  

 // public methods  
 function Init()  
 {  
   alert("called init");  
 } 

 //private methods  
 function PrivateMethod()  
 {  

 }  

}

aspx页面上的调用看起来像

var widgetInstance = new Widget("<%=Foo.ClientId%>",<%=Bar.ClientId%>);
widgetInstance.Init();
网友评论