问题标签 [inamingcontainer]
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.
c# - ASP.NET WebControl ITemplate 子控件为空
这是我想要的:
我想要一个控件放在页面上,其他开发人员可以在其中放置表单元素以显示我的控件正在搜索的实体。我的搜索逻辑都在工作。该控件构建自定义搜索字段并基于实现我的SearchSpec
接口的声明性 C# 类执行搜索。
这是我一直在尝试的:
我尝试在实现 INamingContainer 的 WebControl 上使用 ITemplate 我尝试实现 CompositeControl
我最接近工作的地方如下。
好的,我有一个自定义 WebControl
然后用法:
问题是在 CodeBehind 中,页面有成员 descriptionBox、ownerBox 和 testNameBox。但是,它们都是空的。此外,FindControl("ownerBox")
返回 null 一样this.sp1.FindControl("ownerBox")
。我必须做this.sp1.MyTemplateContainer.FindControl("ownerBox")
才能获得控制权。
我怎样才能做到这一点,以便在我的 Page_Load 事件中生成控件而不是空的 C# 代码,以便开发人员可以这样做:
c# - ASP.NET Repeater 唯一名称格式字符串的差异说明
谁能解释为什么在 ASP.NET 应用程序中部署Repeater控件的子控件的名称属性会在不同的IIS服务器上生成不同的原因?
一些 IIS 服务器的名称是使用以下格式生成的:
例如
在其他 IIS 服务器上,格式为:
例如
c# - ASP.NET INamingContainer - 可选前缀
ASP.NET 是否总是将“ ct100$... ”前缀应用于元素 ID,或者在某些情况下,如果元素保证唯一,它是否会优化它。
最近,我看到不同的版本在应用的 ID 前缀上有所不同,一个有前缀,一个没有,但都来自同一个源。
任何人都可以提供更多详细信息,以及 INamingContainers 和 ID 生成的工作原理吗?
asp.net - Selenium - ASP.NET 生成的 ID(类似 JQuery 的选择)
JQuery 支持$("span[id$='Label1']")
允许选择 ASP.NET INamingContainer 生成的 ID 的语法,这些 ID 以“ ct100$... ”为前缀。
我们正在使用 Selenium,并正在寻找一种类似的方式来选择元素,忽略 ASP.NET 生成的前缀。
想法?
c# - .NET 4.5 中的 INamingContainer
我们最近从 .NET 3.5SP1 升级到 .NET 4.5。我们发现使用 INamingContainer 接口的控件现在呈现它们的 ClientID 不同。
MS 文档说 INamingContainer 在控件的层次结构中创建了一个新的 ID 命名空间。
使用旧行为,我们的 id 将如下所示:
但我们现在得到:
其中包含 ct100 前缀和内容持有者控件名称。
使用它的示例类是:
我们已经设置ClientIDMode="AutoID"
了向后兼容性。
我们可以ClientID="static"
像以前一样手动为每个控件赋予正确的 id,但这对我们来说需要完成很多工作。
我想了解为什么 INamingContianer 没有像以前在旧版本的 .NET 中那样呈现。
提前致谢。
c# - 如何在 INamingContainer 中使用 ClientScript.getpostbackclienthyperlink
我有一个继承自 WebControl 和 INamingContainer 的自定义 WebControl 类。在这个类里面是一个gridview,我想要有可点击的行。
我暂时将gridviewsAutoGenerateSelectButton
设置True
为,但最终我想用一个发回服务器的行onclick事件替换它。
在 gridviewsRowCreated
事件中,我有以下代码将我想要的 onclick 事件添加到每一行:
不幸的是,由于我的类继承自 INamingContainer,这不起作用并为选择按钮生成略有不同的输出。
选择按钮(有效)生成的输出是:
而从 ClientScript.GetPostBackClientHyperlink 方法生成的代码是这样的:
请注意,由于界面原因,选择按钮的 javascript 以“UserData$”(从页面本身给我的控件的 ID)作为 gridviews 名称的前缀INamingContainer
,而回发客户端超链接则没有。
如何使用 GetPostBackClientHyperlink 方法实现与选择按钮相同的生成输出?