问题标签 [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 回答
22 浏览

asp.net - CompositeControl的ViewState问题

我在 ASP.Net 中构建了一个 CompositeControl,现在我无法在托管页面上维护 3 个控件实例的 ViewState。我的 CompositeControl 有一个属性“HeaderText”,我的 CompositeControl 的所有 3 个实例都具有页面上第一个控件实例的值。

例如:如果第一个控件有 HeaderText = "Test 1",那么所有其他控件也有 HeaderText = "Test 1"。

在调试过程中,我发现该属性的 set 运算符被调用了 2 次。当我使用 Debug.WriteLine() 输出跟踪集合运算符时,输出如下所示:

0 投票
0 回答
182 浏览

c# - 如何在复合控件中创建转发可绑定属性

我想知道是否真的可以创建一个复合控件,它具有与子控件的共同属性并声明可绑定的转发属性而无需所有样板文件?

例如,我有这个可绑定的属性,MaxShownItems声明为标准绑定。问题是这里有很多管道,只是为了属性更改回调中的最后一行代码......

我对绑定机制的理解是相当新的,但我认为这实际上是不可能的。问一下也无妨,对吧?

0 投票
0 回答
133 浏览

eclipse - ScrolledComposite 显示两个滚动条,每个滚动条用于垂直和水平滚动

我当前的应用程序是使用 Eclipse 框架的 RCP 应用程序。有一个视图,它的合成被赋予一个 ScrolledComposite,然后所有相关的合成都以 ScrolledComposite 作为父级。

问题是有时有两个垂直和两个水平滚动条可见。一个是主视图,第二个是 ScrolledComposite。

我已经实现了一个 ResizeListener,它将动态更改 SCrolledLayout 的 MinSize。

然而,有时仍然有两个滚动条可见,但它们没有用,而且看起来很烦人。因此,由于滚动条没有用,我在 ResizeListener 本身中禁用了它们。

有没有更好的方法来做到这一点,或者我在某个地方搞砸了。

0 投票
1 回答
341 浏览

c# - 将 ViewState 保存在自定义控件的嵌套下拉列表中

我创建了一个自定义控件(称为 BoostrapDropDown),它基本上将一堆 boostrap 标记包装在 asp.net DropDownList 周围。生成的控件层次结构基本上如下所示,除了 DropDownList 之外,所有内容都是 HtmlGenericControl:

我正在将一个 DataSource 属性从我的控件“传递”到嵌套的 DropDownList 但在回发时,我失去了所有的值。

这是尴尬的部分。一个月前,我在网上搜索并能够创建一个解决方案,但我没有很好地记录它。现在我找不到用于创建解决方案的页面。我不知道它是如何工作的,我希望有人能解释一下。下面是相关的源代码。

更新:完整代码

该控件通过以下方式在标记中使用:

然后在后面的代码中,有以下内容:

所以这是我的困惑......

  1. 期间CreateChildControlsDataSource只会在原始渲染中出现。所以我调用DataBind嵌套的 DropDownList 来让它第一次填充,然后我将所有控件项存储回一个Items属性。
  2. 我很确定我了解如何Items从 ViewState 持久化/加载。
  3. 我迷路的地方是我的 Items财产如何习惯于重新填充 DropDownList?Load\SaveViewState我在想这可能是我添加(称为)的事实base.Load\SaveViewState真正解决了我的问题,但是当我注释掉对我的Items属性的所有引用时,我再次丢失了下拉列表值。

世界上如何在回发时Items重新填充?!inputControl.Items