【发布时间】:2015-04-30 09:38:56
【问题描述】:
我正在使用只有二进制文件的 Web 应用程序。该应用程序允许通过为派生类提供内部来开发扩展。
我想要实现的是向现有的 aspx 页面添加额外的功能。因为我无法复制和修改相应的代码,所以我考虑开发一个 UserControl 并修改所讨论的 aspx 页面的标记以包含该控件。
到目前为止,我是成功的。该控件出现在页面上并触发服务器事件处理程序。它还可以访问应用程序内部数据。我现在需要的是从 UserControl 服务器端以编程方式操作一些原始页面元素。
我知道这不是用户控件的目的,他们不应该对父页面元素有任何了解。但是,据我所知,这是将一些自定义功能包含到现有页面的唯一方法。
在我问这个问题之前,我花了很多时间研究可用的解决方案。
请问,您能否建议从服务器端的用户控件中引用这些元素的最佳方法?
下面是我到目前为止所做的简化代码表示
现有的aspx页面:
// SOME CONTENT OF THE ORGINAL PAGE
<%@ Register TagPrefix="uc" TagName="MyControl" Src="~/usercontrols/MyControl.ascx" %>
// SOME CONTENT OF THE ORGINAL PAGE
<uc:MyControl ID="pnlMyControl" runat="server"></uc:MyControl>
// SOME CONTENT OF THE ORGINAL PAGE
我的用户控制:
public partial class MyControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
//DO SOMETHING HAVING ACCESS TO INTERNAL DATA
}
protected void lnkTest_Click(object sender, EventArgs e)
{
//DO SOMETHING HAVING ACCESS TO INTERNAL DATA
}
}
【问题讨论】:
标签: c# asp.net webforms user-controls