ASP.NET 中的 Javascript 命名空间声明

Posted

技术标签:

【中文标题】ASP.NET 中的 Javascript 命名空间声明【英文标题】:Javascript Namespace declarations in ASP.NET 【发布时间】:2011-07-22 14:21:40 【问题描述】:

如果您要在 ASP.NET 网络表单中声明命名空间,最好使用Type.registerNamespace 还是通常的var $Namespace = function() 方式

【问题讨论】:

这真的和ASP.Net有关吗? 我不知道。这就是我现在正在做的事情。类型不限于 ASP.NET 吗? 是的,对不起,这是一个 MS AJAX 的东西。 【参考方案1】:

这是一篇描述Type.registerNamespace的博文:http://dotnetslackers.com/Community/blogs/bmains/archive/2009/05/30/ajax-and-type-registernamespace-how-it-works.aspx 这两种方法基本上是一回事。 如果您使用的是 MS AJAX,请使用 Type.registerNamespace,否则请使用普通的 javascript

【讨论】:

【参考方案2】:

我更喜欢Type.registerNamespace(...),因为它已经为您处理创建子命名空间并且不会覆盖现有的命名空间。

假设您要声明一个命名空间“A.B.C”。那你说的是写法的区别:

if(typeof A === "undefined")  A = function()  ; 
if(typeof A.B === "undefined")  A.B = function()  ; 
if(typeof A.B.C === "undefined")  A.B.C = function()  ; 

和:

Type.registerNamespace("A.B.C");

显然后者更节省时间,事后更易于阅读。

【讨论】:

以上是关于ASP.NET 中的 Javascript 命名空间声明的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET 解决方案的典型结构?

ASP.Net WebAPI 返回列表中的空对象

重命名 ASP.NET 中的“文化”查询参数以进行本地化

asp.net mvc 5 SQL查询中的命名参数

ASP.NET MVC 向 JS 发送类对象的问题 - JS 数组中的空对象

ASP.NET WebAPI2 CORS:预检时 GetOwinContext 中的空请求