使用设计器 ASP.NET C# 将事件附加到占位符内的控件

Posted

技术标签:

【中文标题】使用设计器 ASP.NET C# 将事件附加到占位符内的控件【英文标题】:Attach event to control inside a Placeholder using designer ASP.NET C# 【发布时间】:2009-11-25 11:50:33 【问题描述】:

是否可以将事件添加到另一个控件内的控件,例如 使用设计器的 PlaceHolder 控件?

当控件单独在表单上时,它可以完美运行...您只需从属性窗口中添加它,方法是单击雷声图标并单击所需的事件。

我知道我可以手动添加它,但如果它是为我生成的,它会更快。 要对此进行测试,请将以下内容添加到表单并尝试通过设计器或属性窗口添加 btnTest 的 OnClick 事件:

<asp:PlaceHolder ID="phTest" runat="server">
    <asp:Button runat="server" Text="Button" ID="btnTest" />
</asp:PlaceHolder>

感谢任何帮助

问候

【问题讨论】:

占位符似乎隐藏了属性上的迅雷标签 - 有趣的发现! :) 是的,您认为这是一个错误还是背后有某种原因。我只是希望它在 2010 年得到修复。测试版还没有修复它:( 【参考方案1】:
    <asp:PlaceHolder ID="phTest" runat="server">
    <asp:Button runat="server" Text="Button" ID="btnTest" OnClick="bUpdate_Click" />
</asp:PlaceHolder>

我不得不在我的项目中手动完成,只要你匹配 eventargs 就可以了

【讨论】:

【参考方案2】:

我不认为 PlaceHolder 控件用于此目的。来自MSDN

PlaceHolder Web 服务器控件 使您可以放置​​一个空的 页面内的容器控件和 然后动态添加、删除或循环 在运行时通过子元素。 该控件仅呈现其子项 元素;它没有基于 html 的输出 自己的。

【讨论】:

是的,你是对的。问题是当使用一个面板时,它会生成一个我不想要的 标签。似乎您可以指定如何在 vs 2010 中呈现控件,即是否显示特定的 html 标签 【参考方案3】:

好吧,我想没有办法通过设计器来完成,除非在将事件处理程序添加到按钮之前,然后将其放入占位符。 谢谢大家的帮助...

【讨论】:

以上是关于使用设计器 ASP.NET C# 将事件附加到占位符内的控件的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Gridview 分页器样式中的 C# Bootstrap 分页?

如何将c#做好的asp.net网站部署到iis上

转asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端

以编程方式将用户控件加载到占位符 (asp.net)

更新页面的一部分以显示“新闻”(不使用数据库)Asp.net C#

使用 Url.Action (ASP.NET MVC) 将分号附加到 href URL