在使用jquery实现我的第一个重要脚本时,我需要在页面上找到特定的Web控件.由于我使用DotNetNuke,因此无法保证控件ClientID,因为容器控件可能会在不同站点之间发生变化.我最终使用了一个属性选择器,它查找以控件的服务器ID结尾的ID.
$("select[id$='cboPanes']")
Run Code Online (Sandbox Code Playgroud)
这似乎可能不是最好的方法.还有另一种方法吗?
@Roosteronacid - 当我得到我想要的控件时,我会尝试遵循给定技术/语言的习语.当我使用C#编程时,我尝试以最佳利用C#功能的方式进行编程.由于这是我第一次真正使用jQuery,因为这将被成千上万的用户使用,我想确保我创建的代码也是其他人的一个很好的例子.
@toohool - 这肯定会有用,但遗憾的是我出于性能原因需要将javascript保存在单独的文件中.如果您内联javascript,则无法真正利用缓存,因为每个"页面"都是动态生成的.我最终会一遍又一遍地向客户端发送相同的javascript,因为页面上的其他内容发生了变化.
@Roosteronacid - 当我得到我想要的控件时,我会尝试遵循给定技术/语言的习语.当我使用C#编程时,我尝试以最佳利用C#功能的方式进行编程.由于这是我第一次真正使用jQuery,因为这将被成千上万的用户使用,我想确保我创建的代码也是其他人的一个很好的例子.
@toohool - 这肯定会有用,但遗憾的是我出于性能原因需要将javascript保存在单独的文件中.如果您内联javascript,则无法真正利用缓存,因为每个"页面"都是动态生成的.我最终会一遍又一遍地向客户端发送相同的javascript,因为页面上的其他内容发生了变化.
我在编写的一些JavaScript中遇到问题,其中Switch语句似乎没有按预期工作.
switch (msg.ResultType) {
case 0:
$('#txtConsole').val("Some Val 0");
break;
case 1:
$('#txtConsole').val("Some Val 1");
break;
case 2:
$('#txtConsole').text("Some Val 2");
break;
}
Run Code Online (Sandbox Code Playgroud)
ResultType是一个0-2的整数值,我可以在FireBug中看到它.在所有情况下,交换机将控制权转移到最终的中断语句,这意味着完全跳过所有逻辑.我错过了什么?
我在新的1.3 SDK中运行Azure Web角色,并且在尝试使用IIS进行IIS更改时遇到权限问题Microsoft.Web.Administration.ServerManager.每当我执行CommitChanges()它时都会抛出此错误:
UnauthorizedAccessException"由于权限不足,无法写入配置文件".
我的ServerManager代码正在执行的OnStart方法中RoleEntryPoint.
我的理解是,在1.3中转移到完整IIS支持的目的是为了让我们可以更好地控制应用程序的配置,包括在需要时动态创建新的IIS站点.
我已经创建了一个新的jQuery UI Widget,并希望添加一个版本,以便将来我的API发生变化时,用户可以根据所述的小部件版本做出适当的反应.在核心小部件中,开发人员用于$.extend()添加公共版本变量:
$.extend($.ui.dialog, {
version: "1.8.11",
...
});
Run Code Online (Sandbox Code Playgroud)
这是将版本标识符添加到我自己的窗口小部件的适当方法,还是应该将变量作为原始窗口小部件定义的一部分包含在内?