问题标签 [clientid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ASP.NET 3.5 ClientIDs 细化
我创建了一个简单的 ASP.NET 4.0 应用程序,以查看如果我更改controlRenderingCompatibilityVersion
web.config 和ClientIDMode
控件的属性,呈现的客户端 ID 将如何变化。现在我已经设置<pages controlRenderingCompatibilityVersion="3.5"/>
并<asp:Label runat="server" ID="Message" ClientIDMode="AutoID" />
期望在生成的标记中找到 asp.net-3.5 样式的 ClientID(类似于 id='ctl00_Message'),但我看到了这个<span id="Message">Hello world!</span>
。
为什么 ASP.NET 不将其呈现为 3.5 样式的 id?
google-app-engine - Google App Engine Channel Presence 未在重复使用的频道令牌上触发
我有一个应用程序支持使用 Google App Engine Channel API 在“主”设备和多个“遥控器”之间进行双向连接。为了节省数据消耗,“主”仅将其数据发送到已在数据存储实体中记录的远程设备。它看起来像这样:
{"ag5zfnBhbmRvcmEtaG9tZXIVCxINU29ja2V0U2Vzc2lvbhjZswEMremote1": "AHRlWrqfFk1Od_9FMObXMnbQRV0NPlAD41aRaYCZ8-dzpAV4aZI-6XjGqhlRBbGL8P4slwTUTw4mI2Mb8VgqWSnMbNyO7ewRHCwVnqCvY9vA-XS4vyESFlNS3nRbdeEjuCXEXMSMxiguixfjPDF5fiseQkXm2SOp2c0YD6onfM7PpN6gGDicH5A", "ag5zfnBhbmRvcmEtaG9tZXIVCxINU29ja2V0U2Vzc2lvbhjZswEMremote0": "AHRlWrr5tXCamZ5fN4z8LUM1Wj_60GFNYS7kOEokAM_QeAAL7nlYo5EDuYeEpz_kepwK-k1kQ543jDeTLmUXws9n_3L-ty1rsYUN3SIILfaf4_4UXDVujj6tWed2nmXvbZ8ScX7dOilJBjc_xdvIu6NRDhqe-Pt1oinRXcsAc_NpDFQEOs_5bH8"}
它只是一个将通道密钥与令牌匹配的密钥。然后,实体还可以确定哪些遥控器在线,哪些可以重复使用以及它们何时到期。它们使用通道存在入站处理程序添加,并通过其断开处理程序从实体中删除。但是,由于这些设备可能随时断开连接,因此为每个遥控器重新创建通道令牌是不切实际的。因此,当连接到服务器时,服务器会检查是否有任何未过期的旧令牌未被使用,并通过在数据存储实体中查找令牌的密钥返回旧通道令牌来指示远程设备使用它。
当通道按应有的方式接收数据时,通道状态不会收到它已连接的请求。更有趣的是,当遥控器断开连接时,它永远不会收到 ping,这很可能是由于 iPhone(远程平台)的 safari 中的 unbeforeload 问题。但是在开发服务器中它工作得很好。这是一个错误还是以这种方式重用令牌可能不可靠。
注意虽然我可以在确定遥控器是否应该使用旧令牌或新令牌时更新新遥控器存在的数据存储,但我宁愿使用通道存在作为更清洁的方法来验证套接字是否确实与客户。
编辑此外,我发现如果一个远程令牌在另一个远程尝试使用它之前已经处于非活动状态大约 4-8 分钟,则不会发生这种现象。
EDIT2 此外,我注意到在使用 iPhone 时,无论使用新令牌还是旧令牌,通道几乎总是在可靠连接后几分钟触发其 onerror 处理程序。但是,在笔记本电脑上不会发生这种情况。
javascript - asp.net javascript 通用函数
我正在尝试创建一个 javascript 函数,我可以在其中传递要更新的字段的 ID。就像是:
但这不起作用 - 我收到“字符文字中的字符过多”错误。关于如何动态编写它的任何想法?提前致谢。
jquery - 使用 $find 和 jquery 选择器以在 ASP.net 应用程序中获取对象的替代方法
我想调用一个可以从 ASP.net Sys.Application 方法“$find”返回的元素的方法。在这种情况下,它是一个 Telerik RadWindow 控件(ID="MyWindow"),我想调用 .show() 方法。
问题是在单独的 JS 文件中获取控件的正确客户端 ID ,因为 ID 在 ASP.net 框架中被修改。为此,我目前使用
如果页面上只有一个 id 以“MyWindow”结尾的元素,则此方法有效。不幸的是,控件有时也会向 id 以“MyWindow”结尾的页面添加一些奇怪的包装元素。
所以我的问题是:除了 $find 和 jquery 选择的丑陋组合之外,还有更好的方法可以在单独的 JS 文件中获取 ASP.net 元素对象吗?
javascript - ASPNET 使用 Javascript 在 onchange 事件中获取 ClientID
我用:
但不幸的是,它将转化为:
除了在服务器端 Page_Load 期间添加 onchange 之外,我可以知道什么是最好的解决方案吗?
提前致谢。
plugins - 如果用户登录后端,Joomla 插件将运行不同的代码
我有一个用户 Joomla 插件,它在 Joomla 中为前端和后端创建新用户时验证数据。
我想根据客户端 ID 分离插件正在运行的部分代码。因此,当从前端提交表单时,插件将运行其他代码,而不是在后端创建用户时。
如何在插件代码中确定用户是登录后端还是前端?
jsf - 获取复合组件本身的客户端 ID 以在 JavaScript 中使用
我有一些有趣的问题要问你。我正在创建一个复合组件。我知道,我可以使用 ui:param 来存储价值并重用它。但是,如果我将一些相对值(#{component.namingContainer.clientId})存储到该变量中并希望将其作为常量重用怎么办?很难解释 - 这里有我的代码:
这是在页面的开头 - 我想准确地存储这个 ID,然后这个变量不使用其他任何东西。但后来如果我在具有自己 ID 的元素中重用它,那就不好了。有趣的是,会发生什么 - JSF 不采用相同的值,而是一个相对的值。它再次读取#{component.namingContainer.clientId},而不是固定值。
请问这个怎么解决,能帮我吗?多谢。
更新仍然有一个重要条件:变量rdfaComp 必须立即可用,因为我在 Javascript 函数中重用它(在同一页面上)。像这样:
恐怕,有必要使用这样的相对 ID 链:#{component.namingContainer.parent.namingContainer.parent.clientId} etd。但这真的很糟糕。还有其他解决方案吗?
google-analytics - 重置客户端 ID 后的数据 GA
我想知道重置 cookie 后数据会发生什么。
例如,有人访问您的网站并获得一个随机的客户 ID。他登录,您将客户端 ID 更改为他的 Webiste 客户端 ID。在您更改 cookie 之前,浏览量和数据会怎样?GA 会将此访问者视为两次不同的访问吗?一个使用以前的客户 ID,一个使用新的用户 ID?
这是否类似于尚未引入的用户 ID 将发生的情况?
android - 此客户端 ID 是全球唯一且已在使用中
我已经为我的应用程序的费用.loremipsum.tracker创建了 Android 客户端 ID 。实际上我已经创建了 2 个 id,一个用于 Eclipse 密钥库,一个用于我的签名密钥库。我的应用程序是实时的,所以我不能更改包。
我曾尝试删除项目并重新创建项目,但无法正常工作。现在我无法为费用.loremipsum.tracker创建客户端 ID 。
我参考了这个问题。我应该联系谷歌吗?现在从任何项目中我都收到此错误此客户端 ID 是全局唯一的并且已在使用中
我的应用程序处于活动状态,但 Google Plus 客户端无法正常工作。
编辑
现在我没有任何关于这个费用的 Android 客户端ID。loremipsum.tracker我仍然无法为此创建一个。
c# - 如何在 c# .net 中通过 ClientID 查找控件?
我正在尝试编写一个通用函数来搜索给定父级中的所有表单输入控件,以便以后可以重新填充表单的值。
我将每个控件的ID和VALUE存储在一个 cookie 中,并FindControl(ID)
在设置其 VALUE 之前通过使用来定位控件来重新填充控件。
一切正常,除非我有多个用户控件实例,其中有子控件。
例如,一个 DateRange 控件定义了两个文本框...
然后在我的表单中,如果我有两个 DateRange 控件...
...我现在有2 个文本框,其 ID 均为txtDateFrom
(和 2x txtDateTo
),因此我无法将这两个值都存储在 cookie 中(因为它们的 ID 不是唯一的),也无法再次使用FindControl()
.
我想要的是类似于的东西FindControl(ID)
,但使用 CLIENTID 代替,以便我可以区分不同用户控件中具有相同 ID 的子控件。
我反对必须手动存储所有控件的完整路径(以某种方式),然后使用FindControl(IDa).FindControl(IDb).FindControl(IDc)...
(或其他)深入到子控件的想法。
一定有更简单的方法吧?
还是我接近这一切都错了?建议赞赏,谢谢。