问题标签 [custom-server-controls]

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.

0 投票
3 回答
740 浏览

asp.net - 自定义服务器控件:在 ASPX 代码上以声明方式指定事件

我目前正在开发几个自定义 ASPX 服务器控件。当然,这些控件也会公开事件。现在一种可能性是在代码中注册一个处理程序,更具体地说是在自定义服务器控件所在的页面中......比如

但是我如何必须在我的服务器控件代码中公开事件我可以直接在 ASPX 代码(来自属性编辑器)上声明这些事件处理程序,就像你可以在按钮的单击事件上做的一样?

非常感谢,

朱里

0 投票
1 回答
2172 浏览

.net - .Net 中继器等效于单个对象?

有人可以尝试推荐最佳的行动理由来解决以下请求:

我已经创建了许多使用 Repeater 类作为基础的扩展类,并且喜欢这样做的灵活性、易用性和结果。我现在要做的是为单个对象(即未实现 IListSource 或 IEnumerable 的 DataSource)制作类似的自定义 Web 控件。我已经通过扩展转发器创建了我想要实现的结构,然后在设置数据源时使用 1 个项目的列表来保存对象,然后进行数据绑定。

这似乎是一个小技巧,我想做的是以下几点:

我希望能够使用各种变量和属性定义此自定义控件,其结果将启用以下类型的布局:

此实现必须使用 WebForms 进行,尽管考虑到上述情况,使用 MVC 似乎是理想的方法。通过这样做,我想创建一个灵活的 WebControl,它使用反射(可用于实现特定接口的所有类),它将生成所需的表单,每次需要时只需要后面(上面)三行代码。

我是否应该将一个属性添加到一个自定义中继器(DataObject),该中继器接受一个对象并相应地设置 DataSource 并节省我的时间?或者,还有更好的方法?

希望这一切都有意义!

干杯,史蒂夫

0 投票
2 回答
1171 浏览

c# - .net 页面事件触发顺序更改

好的,这是一个非常烦人的错误,我整个早上都遇到了问题!

我有一个自定义控件,我们在许多项目中都使用了该控件,该控件具有由调用页面 onload 设置并存储在 Viewstate 中的属性。该控件使用自定义控件的 CreateChildControls() 方法上的属性设置子控件。

通常像往常一样在回发时触发 Page_Load 事件,然后触发页面上控件的 CreateChildControls 方法。

奇怪的是,我们在网站上有一个登录系统(自定义成员资格提供程序),当用户登录时,相反的情况首先会触发 CreateChildControls() 方法,然后触发 Page_Load,因此控件属性是错误的(从之前的回发中设置) )

事件如何以不同的顺序触发?我认为无论如何所有页面事件都以相同的顺序发生,而且我看不到登录会如何改变该顺序。

更新:似乎问题是我没有调用 EnsureChildControls() 但我不确定应该在哪里调用它?如果在用于设置子控件的控件上设置了多个属性,我应该何时调用 EnsureChildControls(),我想我不完全理解 EnsureChildControls() 的作用?

0 投票
1 回答
1469 浏览

asp.net - 自定义服务器控件 - 基类和用法

我希望有人可以对创建服务器控件、控件基类和这些类的用法的主题有所了解。

这是我想要实现的一个例子。我想创建一个可以在 ASPX 标记中实例化的自定义面板控件,如下所示:

它应该呈现以下 HTML:

开发人员应该能够省略除 Contents 部分之外的任何部分。不应呈现省略部分的 HTML。另外,用户应该能够在页面后面的代码中实例化/添加 Panel 控件,并向 Panel 控件的各个部分添加其他控件,如下所示:

我已阅读以下文章:通信部门对话:创作自定义 ASP.NET 服务器控件(哪个基类?)

由于我真的不希望开发人员更改控件的样式,因此 System.Web.UI.Control 基类就足够了,但我还需要应用 INamingContainer 接口。因此我的控制应该是这样的:

我已经阅读了很多教程,但它们要么没有涵盖我的预期实现,要么没有解释为什么采用某种方法。他们也让我很困惑,以至于我求助于 JavaScript 来动态呈现必要的 HTML。如果那里有任何控制大师,您能否解释一下您将如何完成这项任务?

0 投票
2 回答
565 浏览

c# - 通用 ServerControl 语法?

有没有办法让我拥有服务器控制权

这样我就可以像这样在 aspx 页面中注册和使用它

显然设计师不喜欢这样,除了创建带有类型参数的非泛型包装器之外,还有什么很酷的方法吗?

0 投票
6 回答
3004 浏览

.net - 自定义服务器控制导致 UpdatePanel 内的完整回发

我有一个自定义服务器控件,它似乎可以正常工作,直到我将它放入 UpdatePanel 中。一旦进入 UpdatePanel,它会继续正常工作,但当我的自定义服务器控件执行回发时,UpdatePanel 现在会执行完整回发。

我是否需要做任何事情来让我的自定义服务器控件在 UpdatePanel 中执行异步回发?

这是导致完整回发的相关代码。ecs:Pager 控件是我的自定义控件,即使它在 UpdatePanel 中也会导致 OnCommand 事件的完整回发。

0 投票
3 回答
365 浏览

c# - 以简单的方式继承 Web 服务器控件?

我有一个中继器用作一种 Paging TagCloud。为此,我向 Page 的 ViewState 添加了简单的属性,例如 Page、RowCount 等……

我觉得它不属于那里,但我在服务器控制、调试、dll 和部署方面的经历很糟糕。

我可以只继承Repeater 类,添加一些ControlState/ViewState 属性,并能够完全像直接从工具箱中拖动的Repeater 一样使用它吗?

在这里,有以下简单的类:

如果不创建新的 WebControlLibrary 项目,此 cs 文件是否可以位于 App_Code 文件夹中并按预期工作?

谢谢。

0 投票
1 回答
223 浏览

asp.net - 从 ASP.NET 服务器控件将打包的 javascript 添加到页面?

是否可以创建一个 ASP.NET 服务器控件来打包一些将在设计时而不是运行时发送到 aspx 页面的 javascript?我正在尝试创建一个具有“默认”javascript 的控件。我可以使用 RegisterClientScriptBlock 添加 jvascript,但是 Web 开发人员无法修改 javascript - 在这种情况下,它在设计时不可用。有没有办法更改 ToolBox 属性,以便当 Web 开发人员将控件放到页面上时,javascript 也会添加到单独的脚本标记中?

0 投票
3 回答
1311 浏览

asp.net - 如何将自定义控件的呈现行为从跨度更改为

编写自定义控件时,它始终呈现为 HTML span 元素。例如,如何将其更改为 div?

0 投票
2 回答
2379 浏览

c# - 为 ASP.NET 实现 HierarchicalDataBoundControl

我想为 ASP.NET 实现分层数据绑定控件。

我使用在您的自定义集合中实现 IHierarchy 支持作为创建我的分层集合的基础。我还为该集合创建了一个 HierarchicalDataSourceControl。一切正常:我可以将它绑定到 ASP.NET TreeView 并正确呈现数据。

但是,我被困在 HierarchicalDataBoundControl 上。我找到了示例,但我对 c#/.Net 还是太陌生,无法理解它们。我不太明白如何实现这些示例:

呈现数据绑定的 UL 菜单

也不

HierarchicalDataBoundControl 类

有没有人有任何提示或更好的例子来实现这样的控件?