问题标签 [asp.net-webcontrol]

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 投票
2 回答
977 浏览

asp.net - ASP.NET Web 控件可以接受构造函数中的任何内容吗?

我想要一个安全控件,但也想要扩展 asp.net 框架提供的现有按钮或文本框。所以我的类 dec 看起来像:

我正在考虑类似的策略模式,但不确定如何将 ISecureControl 传递给 ctor 或者可能是 init 方法之类的?

我可能正在回答我自己的问题。我想我可能能够覆盖 OnInit 或 OnPreInit 或其他东西并在那里创建并传递它,但不确定是否有办法在创建时以某种方式直接传递它?

有没有更好的办法?还是我在这里解决我自己的问题...

0 投票
3 回答
1084 浏览

asp.net - 在 ASP.NET 中创建可折叠区域

目前我已经构建了一个collapseControl,它的行为类似于标签(associatedControlID)来控制控件的折叠状态。

我想建立以下控制:

collapsableArea http://img692.imageshack.us/img692/3307/stackoverflowcollapseab.jpg

我想到了类似的东西:
将我已经构建的 collapsableControl 和其他一些控件(例如面板)放在一起以获得 collapsableArea。

第一次尝试:
我尝试扩展面板并执行以下操作:

但这给了我:“不正确的生命周期步骤”,“无法修改”,“nullReference”,......异常

所以我又试了一次(我认为这是更好的选择,因为没有 tagKey):
我扩展了一个占位符并做了以下事情:

这导致了其他问题,例如:我只想设置面板的文本,面板的样式,...

有线!

您对这种情况有任何解决方案吗?

编辑:
我想出了另一个解决方案:
另一个解决方案 http://img109.imageshack.us/img109/3307/stackoverflowcollapseab.jpg

“CollapsableArea”属于“Control”类型,包含 2 个额外的私有属性:

  1. “可折叠控件”
  2. “控制板”

我认为将 CollapsableArea.Controls 的 getter 重定向到 CollapsableArea.Panel.Controls 就足够了。在 CollapsableArea.CreateChildControls() 我实例化并将 CollapsableControl 和 Panel 添加到 base.Controls 并在 CollapsableArea.RenderChildren() 中渲染这两个

我现在的问题:如果面板包含 <% %>-tags,CollapsableControl 将获得一个 clientID(不设置 ID)-面板不会呈现 CollapsableControl 将失败(或传递出去)

有什么建议么?

编辑: 我修复了丢失 ID 的行为 - 只需将 CollapsableControl.AssociatedControlID 设置为 Panel.ClientID... 但是 - 当将 <% %> 放入面板时,它不会被渲染??!!

0 投票
4 回答
4706 浏览

asp.net-membership - Membership Provider ChangePassword 方法返回类型问题

我们已经实施了自定义成员资格提供程序,并在使用此提供程序的网页上设置了更改密码控制。此成员资格提供程序类中的 ChangePassword 方法通过连接到外部 Web 服务来检查有关密码强度和有效性的一些业务逻辑。如果有任何问题(长度问题、需要特殊字符等),Web 服务能够准确返回新密码的问题。

现在,必须由自定义提供程序覆盖的 ChangePassword 方法的签名是:

因此,即使我知道用户提供的新密码的确切问题,我也无法在网页上显示它,因为我只能从此方法返回真或假,然后更改密码控制接管并自己执行魔术取决于布尔返回值。我可以连接控件的OnChangePasswordError事件ChangePassword以显示静态错误消息,或者我什至可以FailureText在发生错误时将此控件的属性设置为一些硬编码字符串,但我无法向用户提供究竟是什么错误使用他们提供的密码。

该类MembershipProvider有一个ValidatingPassword事件,在更改密码之前引发,我可以通过检查密码是否符合条件来抛出异常,但该异常似乎仍然没有传递给 ChangePassword 控件。这是 ValidatingPassword 事件处理程序的代码:

如何将特定信息从 Membership 提供程序类的 ChangePassword 方法发送到 ChangePassword 控件,以向用户显示正确的、非静态/硬编码的密码更改错误消息?有没有办法将 ValidatePasswordEventArgs 连接到 OnChangePassword 方法的 EventHandler 中的 EventArgs,以便我可以在 ChangePassword 控件中获取 FailureInformation?

从我最初的研究来看,这似乎是不可能的。虽然我觉得MS团队不会忽视这一点,应该有办法。

几点建议:

MembershipUser.ChangePassword 在没有警告的情况下失败 http://forums.asp.net/t/983613.aspx

0 投票
2 回答
2900 浏览

asp.net - 如何在 ASP.Net WebControl 的“内容”内部属性​​中包含其他标记?

我已经搜索了该站点,但找不到解决我的问题的方法,因此如果已经得到解答,我深表歉意(我确定之前一定有人问过这个问题)。

我编写了一个 jQuery Popup 窗口,我已将其打包为 WebControl 和 IScriptControl。最后一步是能够在我的控件的标签中编写标记。我曾多次使用 InnerProperty 属性,但仅用于包含强类型类的列表。

这是我在 WebControl 上的属性:

这是我所追求的 HTML 标记:

不幸的是,我不知道我的 Content 属性应该是什么类型。我基本上需要复制UpdatePanel's ContentTemplate

编辑:所以下面允许自动创建一个模板容器,但没有控件显示,我在做什么有什么问题?

EDIT2:覆盖 CreateChildControls 允许呈现 ITemplate 中的控件:

不幸的是,我现在无法从文件上的代码隐藏文件访问 ITemplate 中的控件。即,如果我在我的标记内放置一个按钮:

然后我无法btn_Test从后面的代码访问:

EDIT3:修复!编辑 2 是正确的解决方案。只是 Visual Studios 2010 让人很头疼。关闭应用程序并重新打开它,我在 Content 属性中的所有控件都可以在页面上访问。

EDIT4:Edit 2 没有解决这个问题。在有人提到它之前,我已经尝试过该[TemplateInstance(TemplateInstance.Single)]属性,但是当时我认为它没有任何作用。看来 Visual Studios 2010 今天只是有点奇怪。

由于我删除了标签并继续工作,我认为该属性没有任何区别。由于再次回到代码,控件变得不可用。重新添加该属性可以使其全部正常工作,并且可以在服务器端访问控件。疯狂。我将接受布赖恩的回答,因为他在其他人之前提到了修复。

0 投票
1 回答
2818 浏览

asp.net - 如何将一个 ASP.NET 日历控件放在另一个旁边?

有没有办法将两个 ASP.NET 标准日历控件放在 Webform 上,一个在另一个旁边?一段时间以来,我一直在尝试设计一个带有两个日历控件的 WebForm,但无论我尝试什么,它们都是一个在另一个之上。

这是我的 aspx 的样子:

0 投票
1 回答
575 浏览

asp.net - 要替换 asp.net Wizard 控件,最好的选择是什么?

我有 3 个步骤的 asp.net 向导控件。在每个向导步骤中,我都有填充大量数据的数据网格。现在有一项技术要求是删除此向导并使用一种最佳解决方法。那里最好的方式是什么?如果有人已经尝试过此迁移,请提供帮助。

0 投票
3 回答
2496 浏览

asp.net - 如何在 SqlDataSource 中使用自定义参数

我想向GridView我的一个视图添加一个由SqlDataSource. 该SelectCommand查询aspnet_Users.UserId在当前登录用户的 GUID 上进行了参数化,因此我需要一种将用户 ID 作为参数传递的方法。

我阅读了如何在没有代码隐藏的情况下在 SqlParameter 中使用 ASP.NET 当前用户名,并决定创建一个自定义Parameter名称UserIdParameter

然后在 ASPX 视图中添加:

在该行之后的<%@ Page ... %>一行中以及:

asp:SqlDataSource元素内。

不幸的是,我收到一个解析器错误(“在解析服务此请求所需的资源时发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。”),以下内容以红色突出显示:

Visual Web Developer 2010 Express 还通知我“元素 'UserIdParameter' 不是已知元素。如果网站中存在编译错误,或者 web.config 文件丢失,则可能会发生这种情况。”

我需要以Web.config某种方式进行修改吗?如果没有,我需要做什么才能使用我的自定义UserIdParameter参数?

0 投票
1 回答
215 浏览

.net - 为什么 RadioButton/CheckboxButton 没有 VALUE 属性?

为什么 RadioButton/CheckboxButton 没有 VALUE 属性?

HTML 输入单选具有 VALUE 属性,为什么 RadioButton/CheckboxButton 没有?这是一个真正的错误微软!为什么?

现在,想象一个情况:

您需要数据库中的汽车列表,用户只需选择一个,您将带有 TEXT 属性的单选按钮列表与汽车名称一起放置,并且正确的是将数据库中的注册 ID 保存在 VALUE 属性中。用户将选择一个寄存器,我将获取该输入的值并保存在数据库中。

但是使用默认情况下不可能的 Microsoft RadioButton,我应该在 TEXT 属性中获取汽车的名称,通过汽车的名称找到一个寄存器( WHERE name = 'volvo' //THATS WRONG )并获取 ID的寄存器,然后保存到数据库。

另一种方法是验证单选按钮是否被选中,如果单选按钮2被选中,则手动将注册ID保存在数据库中。

那肯定是错的。

0 投票
1 回答
3442 浏览

c# - 更新按钮触发编辑事件处理程序

我有一个网格视图。标记是这样的...

我的代码隐藏有这个......

问题是这些例程中的大多数都能正确触发,即编辑、删除、取消。除非我单击更新按钮,gvwServers_Edit()否则会触发。为什么会这样?如何使更新按钮单击触发gvwServers_Updating()

更新:我的问题在这里得到解决。

0 投票
1 回答
528 浏览

javascript - jQuery/asp.net 中的 RoadMap(?) UI

我们有 jQuery 或 asp.net 中的任何路线图 UI

我不确定 UI 名称,但 UI 看起来像在此处输入图像描述

我在 SAP 中看到过相同类型的 UI,其中每个步骤都会在整个过程中突出显示