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

asp.net - CompareValidator 在 listview 的 editItemTemplate 中有效,但在 insertitemtemplate 中无效

我有一个验证问题

我有一个列表视图,在编辑项模板中我有两个复合控件,里面有一个文本框

我在上面放了一个比较验证器

效果很好!

所以我在 InserItemTemplate 中执行完全相同的操作(这是复制/粘贴)

但这一次,它不起作用,我的验证摘要中没有错误消息,并且在我的控件附近进行验证!

如果你知道这个问题,请帮助我

提前致谢

0 投票
1 回答
725 浏览

visual-studio-2008 - ASP.NET 服务器控件 - 在 Web 引用中重用类型/对象

我想知道是否可以在 ASP.NET 服务器控件中重用 Web 引用中的对象?(基本上保持相同的网络参考名称)

我有一些 Web 服务 (.asmx) 我想使用相同的 Web 引用名称进行分组,但是当我使用相同的名称使用它们时,它们会在末尾附加一个 1 并带有所有对象名称。

右键单击 - 添加 Web 引用 在 Web 引用名称中输入 asmx 的 URL 类型“MyServices”

重复,为 Web 引用名称添加 Web 引用类型“MyServices”并将其添加为“MyServices1”,而不是对相同的对象进行分组和重用。

这似乎只在 ASP.NET 服务器控件上执行此操作 - 我曾经创建的任何其他项目、标准 c# 控制台应用程序、asp.net Web 应用程序都将对象和 Web 引用名称组合在一起。

我错过了补丁、升级,还是服务器控制无法做到这一点?

只是为了一点背景,我正在创建一个控件,我可以将其放入基于单个 dll 的项目中。

如果它是一个 Web 应用程序,我可以将测试项目中的服务分组,但是它们不会在服务器控制项目中分组。

任何帮助将不胜感激!

谢谢!

杰米

一个示例位于此处:

http://imgur.com/6tqvQ.jpg

0 投票
3 回答
4669 浏览

asp.net - 从控件继承与 Web 控件

我已经阅读了这篇文章,其中解释了在创建自定义控件时何时选择 Web 控件与控件,但这还不够。当自定义控件都向 UI 提供内容时,我已经看到自定义控件继承自其中任何一个。

http://msdn.microsoft.com/en-us/library/yhzc935f.aspx

“如果您的控件在客户端呈现用户界面 (UI) 元素或任何其他可见元素,则应从 System.Web.UI.WebControls..::.WebControl(或派生类)派生控件。如果您的控件呈现在浏览器中不可见的元素,例如隐藏元素或元元素,从 System.Web.UI..::.Control 派生您的控件。WebControl 类从 Control 派生并添加与样式相关的属性,例如作为 Font、ForeColor 和 BackColor。此外,从 WebControl 派生的控件参与 ASP.NET 的主题功能,而无需您进行任何额外的工作。"

所以使用 WebControl 的唯一原因是如果您想使用它们的样式功能?我只是要用字符串生成器最终输出字符串,所以我不在乎那些东西。我更喜欢直接使用无表格设计和字符串来形成我的控件呈现的 HTML。

0 投票
1 回答
434 浏览

c# - Custom web server control fails when calling a web service

I've created a web server control, it works fine. Problems start when I try calling an external web service. I am using a script manager and it's directed to the following location --> http:\localhost\UserNamesData.asmx.

My server control creates some html controls as well some javascript code. When the user clicks a submit button The javascript calls the external web service. I am using a script manager to register the service reference.

Now this seems to work when I put the web service inside the project in which the server control is later registered in (Meaning in my website) and when inline script is set to true. Though it does not work when my web service is not in the same project as my website.

I am using aspnet and c# 3.5

I have no idea what might cause it to act this way. Any thoughts?

0 投票
1 回答
2692 浏览

c# - ASP.NET StateBag 和自定义控件

让我们假设由于某种原因我想创建一个从 Control 而不是 WebControl 派生的自定义控件。我们还假设我需要处理属性(即实现 IAttributeAccessor)并且我想通过使用 AttributeCollection 来完成,就像 WebControl 一样。

WebControl 像这样实现 Attributes 属性:

请注意以下事项:

  1. 如果不给它一个 StateBag,就无法创建 AttributeCollection。
  2. 我们必须创建一个新的 StateBag。重用控件 StateBag 是不明智的,因为属性可能将名称作为控件存储的值。
  3. 我们不能在 StateBag 上调用 TrackViewState,因为这是一个内部方法。
  4. StateBag 是一个密封类。

因此,据我所知,如果我想使用 AttributeCollection,我必须使用一个新的 StateBag,它永远不能(不使用反射等技巧)真正正确地管理状态。

我错过了什么吗?

0 投票
3 回答
3510 浏览

asp.net - ASP.NET 模板化控件

我正在尝试构建一个模板化控件。您将看到作为字段部分的一部分,我希望能够将控件定义为子控件。当我尝试编译时,我收到错误消息“ MyTemplateControl.Field'没有名为'Button'的公共属性”。有谁知道如何完成我想要做的事情?

下面是一个示例 XHTML 标记,下面是我的控件实现。

我已经编辑了我的示例,希望能阐明我在寻找什么。感谢大家提供 MSDN 链接。我已经经历过那些了。
我正在尝试构建的是一个数据输入控件,它将为我自动格式化表格。我们做了很多数据输入网络表单,我想缩短实施时间。


0 投票
1 回答
452 浏览

c# - 在自定义服务器控件上调用 MemberwiseClone() 是否安全?

我编写了一个自定义服务器控件,它(伪代码)看起来像

现在我必须复制这个自定义服务器控件。基本上它是由程序员以声明方式添加到 aspx 或 ascx 代码上的。在运行时,必须创建该控件的多个实例,然后将其添加到某个父控件。然而,这是在该父控件的上下文中处理的。

无论如何,解释使用的上下文有点困难。然而,我的主要问题是使用“克隆”是否安全,尤其是调用MemberwiseClone()网络控件?到目前为止我所做的是添加一个类似的方法

我的意思是 ASP.net 控件层次结构是一个相当复杂的模型。所以我想听听你们中的一些人是否知道这种解决方案可能出现的任何缺点。

0 投票
1 回答
398 浏览

asp.net - 自定义服务器控件,带有表单和脚本管理器

我正在构建一组 asp.net 服务器控件,其中一个,本质上是一个容器控件,我想添加一个表单控件、一个脚本管理器和一个更新面板。这是可能的,还是出于页面/控件生命周期的原因,我必须在我为 Web 项目拥有的 Page 基类中创建这些?

我没有使用母版页。

问候, 安德鲁

0 投票
3 回答
399 浏览

asp.net - 单一模板服务器控制

是否可以有一个带有单个模板的自定义服务器控件(这意味着用户可以放置他们想要的任何文本)而不必像 FormView 控件中那样需要“ItemTemplate”?

我希望源视图中的控件看起来像这样

用户在这里放置他们想要的任何 html 内容

取而代之的是

用户在这里放置他们想要的任何 html 内容

我的自定义服务器控件需要添加 2 个 asp.net 面板控件和 ajax collapsiblepanel 控件。一个面板将是展开/折叠面板,另一个面板是我想要将用户文本放入其中然后让可折叠面板折叠并隐藏面板的面板。

我知道如何执行此操作(至少我认为我这样做)创建复合服务器控件并使用 ITemplate 但这需要<ItemTemplate源视图中的子 > 标记。

有任何想法吗?

0 投票
3 回答
2471 浏览

asp.net - 如何让 ASP.NET 识别我的自定义服务器控件?

我正在尝试创建从 Panel 派生的第一个 ASP.net 服务器控件。出于某种原因,即使应用程序识别出我的控件的类和命名空间,我也无法让 .aspx 页面识别我的服务器标记。

以下是我使用的步骤:

1) 我创建了一个类 CollapsablePanel,并将其放在我的 site_code 目录中。我使用的是 Web 应用程序而不是网站,因此我无法真正使用 App_Code。

2) 在我添加的 .aspx 文件中 <%@ Register TagPrefix="webstation" Namespace="MyApplication.webstation.WebControls" %>

我已经构建了项目,但我的自定义标签前缀没有出现。如果我继续输入编辑器不会抛出错误,但是当我发布它并尝试访问它时页面会发生。如果我尝试从代码隐藏 (Imports MyApplication.webstation.WebControls) 访问该类,则自定义控件会出现在智能感知中,因此我知道 Visual Studio 在某种程度上正在读取类信息。

我在这里做错了什么?任何想法都非常感谢。

麦克风