问题标签 [asp.net-customcontrol]

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

c# - 自定义控件:在页面加载时隐藏控件时未加载脚本

我有一个自定义控件,它完全依赖于 jquery 插件。一切都按预期工作正常,但是当控件设置为 Visible = false 或其任何父项不可见时,就会出现问题。理想情况下,当 asp.net 控件设置为 Visible false 时,引擎不会呈现它,因此我的控件不会在页面加载时呈现。当控件不呈现时,它不会加载 javascript 资源,因此当控件出现在回发时,jquery 插件不会绑定。这是一个非常基本的问题,作为应该使用它的开发人员,他们只是将控件拖放到他们的页面上,假设它工作正常。我认为必须有一个解决方法。下面粘贴的是我如何加载资源。

在代码的倒数第三行,我正在调用一个带有正确加载的图像 url 的函数。但由于某种原因,javascript 文件不会加载,并且任何浏览器都不会在加载的资源列表中显示它们。

有没有解决问题的方法,或者我做错了什么?我现在对这个问题真的很无助,希望能得到任何帮助。

0 投票
4 回答
2706 浏览

asp.net - 更改 TextBox 控件的外观

有没有办法可以将 a 的外观TextBox从其默认外观更改为如下所示

在此处输入图像描述

我搜索creating a custom TextBox但没有看到任何关于改变它的外观。

我有 PSD 中的图像我只是不知道是否有办法用此图像替换默认外观

我是制作网站的新手,只是将其用于学习目的,所以我真的不知道从哪里开始

0 投票
1 回答
691 浏览

c# - Asp.net 自定义表格单元 ClientID 未设置

我有一个派生自 WebControls.TableCell 的类。设置 Text 属性后,我调用一个方法,将 asp:Panels 和 asp:LiteralControls 动态添加到 Cell。我想在 Javascript 中引用这些控件,所以自然我尝试在我的 JS 函数中使用面板的 ClientId。但是,这些控件没有设置 ClientId(字符串为空)。为什么是这样?如何强制设置 ClientIds?

作为临时解决方案,我将 ClientIDMode 设置为“静态”并自己创建了 ID,但这并不令人满意,因为在 JS 中很难引用这些 ID。为什么?例如,如果您将“12345”分配给一个控件,它会在客户端更改为“MainContent_123456”之类的内容。这很糟糕,因为“MainContent”部分不固定;因此我永远无法确定客户端的真实 ID 是什么。目前,我可以使用 jQuery 获取控件$ctrl = $('[id$='12345']');,但这很脏,因为它会获取任何 ID 中包含“123456”的控件。

那么,回到最初的问题:如何在我的自定义 TableCells 中为我的面板自动设置 ClientIds?

编辑:添加代码

将控件添加到自定义 TableCell 的方法中的代码:

和 JS 代码:

}

0 投票
0 回答
213 浏览

c# - 自定义控件内的嵌套标记

我创建了一个自定义控件来实现我们在各处使用的表格。它已经工作了一段时间,现在我被要求添加一个新的列类型,它允许将任何有效的 asp.net 标记放入其中,并且该标记将在该表列中呈现。

我创建了以下类:

以及该列的标记:

问题是当我点击集合时总是空CreateCell的。_innerMarkup我看到几个使用 a 的示例,ControlsCollection但问题是它GridColumnBase不继承自Control,它创建了 a TableCellwhich 。

编辑:我也尝试添加一个PlaceHolder控件并使用它ControlsCollection,但它也是空的。

0 投票
1 回答
195 浏览

asp.net - ASP.NET UpdatePanel CustomControl 和 PopupControlExtender 奇怪的问题

我正在尝试使用 UpdatePanels、PopupControlExtenders 和自定义控件来创建复选框的下拉列表。它在大多数情况下都有效,除了一个我似乎找不到解决方法的奇怪故障。

增强型CheckboxList.cs

默认.aspx

默认.aspx.cs

为了复制故障,您必须按以下顺序执行以下操作。

  1. 将下拉菜单设置为 Role2
  2. 将 B 下拉菜单设置为 Role2
  3. 反转所有 A 权限(取消选中已选中的项目并选中未选中的项目)
  4. 将 B 下拉菜单设置为 Role1
  5. 查看 A 权限(我们在步骤 3 中未选中的项目已再次选中)

无论出于何种原因,在步骤 3 中取消选中权威都没有效果,但选中它们?我研究了从 Request.Params 中获取正确的值,但看起来这并没有给我想要的东西。只有在您切换步骤 2 和 3 时,如果您按该顺序执行步骤,故障才会发生,它工作正常。

0 投票
2 回答
63 浏览

user-controls - 如何为 DNN 站点设置控件库

我看过很多帖子(例如,请参阅https://stackoverflow.com/a/7363860/1378356),其中指出 ASP.NET 用户控件 (.ascx) 不打算用于不同的项目/程序集。相反,正确的方法是创建一个服务器/自定义控件。

我的问题是,创建 DNN 模块的目的是什么?DNN 模块通常有一个 .ascx 文件,该文件继承自 DotNetNuke.Entities.Modules.PortalModuleBase,后者最终继承自 System.Web.UI.UserControl。

这是创建 DNN 模块的正确方法吗?如果是,我会在此过程中经历痛苦吗?

0 投票
1 回答
74 浏览

c# - 集合编辑器没有在 VS 2013 的设计视图中保留自定义 Web 控件标记中的条目?

我正在尝试为具有名为的集合属性的 ASP.Net WebForms 开发一个简单的自定义 Web 控件Subscriptions

我可以成功编译控制项目并将其从工具箱添加到 aspx 页面,没有任何问题。

问题是当我Subscriptions在 Visual Studio 2013 的设计视图中使用集合编辑器添加属性条目时。

我可以输入多个订阅,但是当我单击集合编辑器的确定按钮然后我返回设计视图中的订阅属性时,即使我刚才输入了一些条目,它也是空的。

aspx 中自定义控件的标记

问题:我的代码有什么不正确导致集合未显示在设计视图的控件标记中?

自定义网页控制代码

0 投票
1 回答
675 浏览

asp.net-mvc-5 - ASP.NET MVC 5 - 自定义 html 控件

我想创建自定义 html 控件或表单控件。我找不到它的教程。我想创建新控件或覆盖现有的表单控件。例如 - 覆盖按钮并将图标添加到按钮中。

谢谢

0 投票
0 回答
93 浏览

c# - 如何在 asp.net 中使用范围验证器创建复合控件

我想创建一个具有范围验证的复合自定义控件。可能是整数或日期。无法将 MinimumValue 和 MaximumValue 指定为属性。谁能帮我。我的代码可能不正确,但请建议我一个解决方案: - 我正在尝试创建一个具有范围验证的复合文本框控件。为此,我声明了三个属性 Bool IsRangeNum、Int MininumValue 和 int MaximumValue。- 当 IsRangeNum 为 'True' 时,MinimumValue 和 MaximumValue 被分配在文本框中输入的整数应该被验证。- 无法从 .aspx 页面检索 MinimumValue 和 MaximumValue 属性值 - 'int number = Convert.ToInt32(textBox1.Text);' 文本框值正在转换为 int。

}

0 投票
2 回答
1245 浏览

wpf - 扩展 UserControl WPF 的自定义控件中的 TextChanged 或 ContentChanged 事件

我在想要更改的开源应用程序中有一个自定义控件。

XAML 如下所示:

Scratchpad 控件的代码隐藏如下所示:

每次用户控件中的文本更改时,我都想触发一个事件处理程序。但是,没有可以在 XAML 中使用的 TextChanged 事件。

我的计划是做这样的事情:

但是,此自定义控件中不存在“textChanged”事件。

如您所见,ScratchPad 扩展了 UserControl。UserControl 还扩展了 ContentControl,这就是为什么我认为可以将文本放入此控件的原因,它们可能是我不知道的“ContentChanged”事件。

最好的,彼得。