问题标签 [servercontrols]

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 回答
1054 浏览

nested - Page.ClientScript.RegisterClientScriptBlock 和嵌套的服务器控件

我在嵌套服务器控制环境中的 PreRender 上使用 Page.ClientScript.RegisterClientScriptBlock。脚本没有写入页面,有谁知道为什么会发生这种情况?

0 投票
1 回答
1133 浏览

c# - 如何从服务器控件动态创建 ModalPopupExtender 控件?

我有一个复合服务器控件,它可以做很多事情;其中之一是显示动态生成的 HtmlAnchor 控件的 ModalPopup OnClick。

我需要在我的服务器控件中动态创建这个 ModalPopupExtender 控件并从内部触发它。

我已经能够创建它并从在设计时创建但不是在运行时创建的按钮触发它。这是因为 ModalPopupExtender 控件始终找不到分配给链接的 ID。

我尝试分配静态 ID,但没有成功。任何人都可以帮忙吗?

0 投票
2 回答
190 浏览

c# - 服务器控制/数据访问最佳实践?

从 Web 父应用程序中访问数据并通过属性将必要的数据传递给控件并返回,或者将引用或 url 指针(Web 服务)传递给控件并让它访问它所包含的字段的数据是否更好?请记住,父级不需要在服务器控件使用的其他任何地方使用数据。

0 投票
4 回答
926 浏览

asp.net - 总是使用 ASP.NET 服务器控件的子类?如果不是,为什么不呢?

在我之前的 ASP.NET 开发环境中,有一个近乎普遍的最佳实践:

为什么?因为这给了你一个钩子......一个编写代码并将其应用于整个应用程序的地方。

例如:假设您决定要在 webforms 应用程序中每个 TextBox 的右侧显示一个问号图标。图标被渲染,悬停在它上面会弹出气泡帮助——如果 TextBox.ToolTip 属性中有文本。

如果您使用的是 MS 提供的 TextBox 控件,您将如何做到这一点?

如果您一直在应用程序中使用 TextBox 的子类版本,那么您可以转到该对象,并添加呈现图标的方法,其中包含您最喜欢的 bubblehelp javascript。

快!您应用程序的所有文本框都会出现小问号图标——或者当您设置它们的工具提示文本时它们会出现。

随着时间的推移,您可以轻松地调整和增强所有文本框,因为它们都有一个可以修改的基类。您添加一个功能,其中工具提示是从资源文件中设置的。接下来,添加一个 ShowOnLeft 属性,该属性在 TextBox 的左侧显示图标。您喜欢 iPhone 密码控件如何显示您键入的最后一个字符,而不是前面的字符吗?使用实现该行为的方法覆盖子类 TextBox 的默认密码行为。

在 ASP.NET 中,我从未遇到过这种做法的倡导者。我刚刚错过了吗?一篇描述两打 ASP.NET 设计模式的文章没有任何相关内容。关于如何对服务器控件进行子类化的帖子描述了特殊用途的一次性操作,例如只接受数字的文本框——但没有一个推荐普遍的“总是使用子类化控件!” 我过去订阅的政策。

在 ASP.NET 中工作时应用这种古老的智慧是否有意义?要始终使用本机服务器控件的子类等效项?

如果不是——为什么不呢?还有其他方法可以剥这只猫的皮吗?一种技术只为您提供一个可以增加给定控件的所有应用程序实例的地方?

我很想听听。我想要我的 TextBoxQMark 控件。:-)

TIA - 霍伊斯特

0 投票
4 回答
199 浏览

asp.net - 将控件生成到占位符中以避免“丑陋”的长控件 ClientID 是否很奇怪?

我越来越不喜欢服务器控制的这个长ID......

但我认为在代码隐藏中生成它的另一种方法不是 asp.net 的简单事物的意义,是吗?

那么您自己更喜欢这种方法吗?明年我要在公司做大中型项目,这就是我问的原因。我自己来自 PHP,同时通过干净的源代码记住我会生病 :)

事实上,我使用 asp.net webforms 很容易在短时间内开发出很酷的解决方案。在对 MVC 的一些印象之后,我不确定是否也可以通过这种方式。

0 投票
1 回答
638 浏览

c# - CompositeDataBoundControl - 由于 DummyDataSource 在触发事件之前覆盖的数据绑定值

我有一个继承自 CompositeDataBoundControl 的自定义服务器控件。我有三个模板:一个页眉模板、一个页脚模板和一个项目模板。项目模板可以包含一个复选框,我用它来决定是否应该删除该项目。

在页脚和/或页眉模板中,我有一个 CommandName 为“DeleteItem”的按钮。单击该按钮时,我在 OnBubbleEvent 中处理事件:

问题是Item为空,因为 CreateChildControls 方法已经运行,因为 asp.net 需要在事件触发之前重新创建控件层次结构。它使用 DummyDataSource 和空对象列表来重新创建控件层次结构:

}

问题在于这一行: ItemData container = new ItemData (e.Current as OrderItem); 在触发事件之前重建控件层次结构时,e.Current 为空,因此当我尝试找出哪个项目被标记为删除时,我得到 0,因为原始值已被覆盖。

对于如何解决这个问题,有任何的建议吗?

0 投票
1 回答
204 浏览

c# - 自定义服务器控件和用户控件之间是否存在性能差异?

考虑两个执行基本相同操作的控件。例如,具有分页、排序和数据缓存的类似 gridview 的小部件。两者都绑定了相同的 10,000 行数据源。一个是自定义服务器控件,一个是用户控件。有什么理由会在性能上有所不同吗?

只是想知道社区会考虑这个问题。

0 投票
3 回答
9578 浏览

asp.net - 如何在 Web 服务器控件中嵌入静态图像资源?

我将创建一个表示树视图的 Web 服务器控件。所以我想用 2 张图片来表示 + 和 - 来展开/折叠。如何以在页面上呈现时可用作图像源的方式将其构建到控件中?

由于这将位于已编译的 Web 控件库中,因此我不想依赖 Web 应用程序中的外部图像。

编辑:
根据Andre Kraemer的这个回答,我做了以下事情:

在 AssemblyInfo.vb 中:

在我的RenderContents覆盖中:

我的大会名称是MyWebControls.

我的根命名空间是MyCompany.MyWebControls.

图像plus.gifminus.gif位于名为 的文件夹中Resources,并且图像的Build Action设置为Embedded Resource

它仍然不起作用。我没有错误。我已经直接在浏览器中尝试了生成的图像 url,bot 没有任何反应,只是一个空白页面。

注意:
我尝试在资源名称中使用无效路径,结果完全一样,这让我想知道是否需要做一些特殊的事情来将实际资源映射到资源名称。仅当我在代码中使用的名称与 AssemblyInfo 中指定的名称不同时,我才会收到 404 Not Found 错误,它与指向实际资源的路径无关!

编辑:

我找到了解决方案

我发现这是 C# 和 VB 之间的区别。请参阅我自己对这个问题的回答

0 投票
4 回答
367 浏览

asp.net - 对asp.net控件和html控件感到困惑

我们计划在我们的 ASP.net 项目中使用 Ajax。但是,我们仍然希望我们网站的成员面板在所有浏览器中都能正常工作。我们已决定不在某些必须独立于浏览器的形式中使用 Ajax。

我现在对我们应该使用 ASP.NET 控件还是 HTML 控件或两者都使用感到困惑?

我有两个问题:

  • 使用这两种方法我可能会遇到任何问题吗?
  • 考虑到效率和性能,哪一个更好?
0 投票
2 回答
3359 浏览

c# - 如何在绑定时为 BulletedList 控件中的列表项设置自定义 id?

我正在将页面加载中的 BulletedList 控件绑定到数据源,我想做的是在绑定时为此 BulletedList 的 ListItems 设置自定义 ID
此自定义 ID 将在我当前的情况下"li_"+ItemId.ToString()

我用来填写项目符号列表的示例代码: