问题标签 [composite-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 投票
1 回答
345 浏览

c# - 服务器控制内的更新面板

我正在尝试通过__DePostBack调用服务器来更新面板内容,HTTP 服务器端被触发但面板不会更新,

更新面板在自定义服务器控件中,它对 PAGE 上下文不熟悉,我只能通过使用:FindControl("Update Panel ID")

如何使更新面板更新?

Default.aspx.cs 代码:

默认.aspx 代码:

如何使更新的面板更新?

0 投票
1 回答
169 浏览

vb.net - Umbraco 创建 .NET 复合控件的宏

一直在为此苦苦挣扎。。

我完全能够创建一个工作正常的 .NET 复合控件,它在 aspx 网站中运行良好。

我可以在 umbraco 中为 .net 自制用户控件创建一个宏并将参数传递给它,这在 umbraco 网站上也可以正常工作。

问题是两者的结合。我想在 umbraco 中为我创建的复合控件创建一个宏,但我无法做到正确。

在这里,我选择了“.NET 自定义控件”,因为我的复合控件只是一个 vb.class(并且“.NET 用户控件需要一个 .ascx 页面)作为程序集我选择了 dll 的名称(没有扩展名作为类型 I拿了'NAMESPACE.CLASSNAME'

但是后来我收到了这个错误:

在此处输入图像描述

我在这里做错了什么?谢谢。

0 投票
1 回答
430 浏览

android - 更改 Android 复合控件的启用状态,同时保持其样式设置

我有一个自定义按钮,我已将其实现为复合控件,该控件由以下部分组成:

  • 根处的 FrameLayout,我使用 @android:style/Widget.Holo.Button 对其进行了样式设置,以便看起来和行为像一个按钮;
  • 作为上述 FrameLayout 的子项的两个 TextView,配置为 duplicateParentState=true,因此如果我将 FrameLayout 上的启用设置为 false,它们将显示为禁用。

修剪后的 XML 如下所示:

除了复合控件的 XML 布局,我还创建了一个 Java 实现,如 Android 文档中所述,它看起来像这样:

如果我理解正确,当使用此控件时,构造的层次结构将是(括号指示视图的定义位置):

我希望能够通过获取对按钮的引用并设置 enabled 属性来切换我的自定义按钮是否启用,如下所示:

但是,这不起作用,因为 XML 中定义的 FrameLayout 不继承其父级的属性,因此按钮继续显示为已启用。

我尝试将 duplicateParentState=true 添加到 XML 中定义的 FrameLayout 中,但在这种情况下,我的样式属性被覆盖/继承,并且控件看起来不再像按钮了。

我也尝试过使用合并标记并以编程方式设置样式,但据我所知,无法以编程方式设置视图样式。

到目前为止,我的解决方法是覆盖 CustomButton 上的 setEnabled() 方法,如下所示:

这可行,但我现在必须对我想以编程方式修改的每个属性执行此操作,并且我在注册 OnClickListeners 时遇到了类似的问题。

有没有更好的办法?

0 投票
1 回答
154 浏览

c# - CompositeControls 上的数据绑定

我有一个复合控件,里面有一个 DropDownList。

我遇到的问题是下一个问题:当我在 Page_Load 上加载数据时(第一次加载页面)一切正常,但是当有回发并且我想刷新数据源时(我的意思是,使用不同的一),数据源保存到ViewState,但不数据绑定到下拉列表。

我发现这是因为页面生命周期从第一次渲染到第二次发生了变化:

  • 第一次:Page_Load - CreateChildControls
  • 第二次: CreateChildControls - Page_Load - Function_Called_On_Postback

所以我的问题是我在CreateChildControls()中进行数据绑定,但数据源设置在Function_Called_On_Postback()上,因此下拉列表没有得到更改。

你知道我该如何解决这个问题吗?你至少有一个建议吗?

非常感谢!

0 投票
1 回答
638 浏览

c# - 多个项目之间共享的 ASP.Net 用户控件

全部,

我的要求很简单。我有一个需要在多个项目中使用的 asp.net 页面。所有项目中的所有服务器控件和代码都必须完全相同。如果我需要重用代码并有一个共同点来简化代码维护,那么最好的方法是什么?

用户控件 - 我在 asp 页面之外创建了用户控件,并有一个单独的项目,其中包含所有ascx文件和代码在页面后面。我可以将此项目添加到多个解决方案中,然后在不同的项目上注册用户控件吗?那可能吗?

使用从另一个项目到当前网页的用户控件。这个问题的答案让我很困惑。

复合控件 - 这甚至是一个选项吗?我是否能够预先实现控件内的按钮的功能,而不必在每个页面中实现它?

更新代码在每种情况下如何工作?对于用户控件,我假设只用ascx文件重建项目就可以了?

PS:我一直在尝试,但我这样做并没有帮助。

我有一个包含所有用户控件的项目。让我们称之为用户控件。我有一个测试 Web 项目,其中有一个新的 ASPX 页面

我使用用户控件作为

设计器视图显示未知标签,页面呈现空白。

0 投票
1 回答
33 浏览

asp.net - 在我需要使用其中一个属性(控件生命周期)之后呈现复合控件

我为文件上传输入创建了一个复合控件(使用 HtmlInputFile 控件)。我的问题是一切正常,直到我尝试在我的页面代码中使用 HtmlInputFile 的“SaveAs”保存文件。每当我按下上传文件的按钮时,我都会得到一个“对象未设置为实例 bla bla bla”。但是,如果我在 SaveAs 之前暂停执行(带有断点),然后逐步执行 (F10),则所有复合属性都有相应的数据,我可以有效地上传文件。

我很确定这与页面和控件生命周期有关,但是到目前为止我所读的所有内容都让我无处可去。在执行 Click 事件背后的代码之前,任何人都可以阐明如何强制复合控件加载/渲染吗?

触发 SaveAs 的代码非常简单:

fup.xmsPostedFile属性仅引用该_inputControl.PostedFile属性。与 相同fup.xmsFileName

任何帮助将不胜感激。先谢谢了。

0 投票
0 回答
31 浏览

c# - 创建服务器控件的正确模式?

我正在创建一个服务器控件(从 CompositeControl 继承)。

该控件由几个数据绑定下拉列表(和一些文本框等)组成。

下拉列表形成层次结构,因此相互依赖......例如

ddl国家

-ddl县

--ddl城市

选择 ddlCountry 时,这应该刷新 ddlCounty... 的列表,以 ddlCity 等为单位。

我想访问控件中 ddlCountry 的值,因此我可以相应地设置第二个 ddl (ddlCounty) 的数据源,但在 CreateChildControls() 中,视图状态似乎尚未将 ddlCountry 用户选择加载到控件中,所以我得到一个空字符串。

我还需要将这些 ddl 值作为公共属性提供。

这变得非常混乱,使用 ReCreateChildControls() 等......我确定这是错误的。

我的问题: 任何人都可以建议正确的模式/规则集来创建此服务器控件

例如

  1. 初始化控件 OnInit
  2. OnLoad 上的数据绑定
  3. 将 EnsureChildControls() 放在任何属性的开头:获取或设置

我认为必须有一种正确的方法来实现这一点,但找不到任何文档或示例来让它像您期望的标准控件那样工作。

谢谢

0 投票
1 回答
98 浏览

asp.net - 如何根据复合控件中的另一个属性分配属性值?

环境:Asp.net 4.5,Webforms

我正在创建一个复合控件。我已经公开了多个公共属性,但遇到了一个小问题。

假设我有两个属性:

我的控件在 PreRender 上被赋值。问题是,当我调用“路径”时,它会获取 UseAbsolute 的默认/私有值。因此,即使我在控件/html 中将属性设置为 True,它也会先获取 false。

我可以通过多种方式解决这个问题,但我觉得我缺少正确的方法或理解。

更新

我忘了提。我是:

在预渲染...

我还尝试将其添加到属性本身。

0 投票
3 回答
1052 浏览

c# - 如何检测 C# 控件名称更改?

我使用 C# Windows 窗体控件库创建了一个复合控件,当我在测试程序中使用新控件时,我想找到一种方法来检测新控件的名称在设计时何时更改,我该怎么办?

0 投票
1 回答
87 浏览

c# - C# 复合控件将在设计和运行时失去名称

我使用 C# Windows 窗体控件库和代码开发了一个复合控件,如下所示:

MyControl唯一有一个控件GroupBox名为myGroupBox

我有一个测试程序,它是一个 C# Windows 窗体应用程序,我想看看当我myGroupBox在属性窗口中更改名称时,文本myGroupBox将是我输入的名称。所以我在属性窗口中输入了一个名称ValuemyGroupBox文本将在设计器中更改,这是屏幕截图: 在此处输入图像描述

但是当我重建测试程序或在运行时文本myGroupBox会消失,这里是截图:

在此处输入图像描述

我应该如何处理我的代码?谢谢