我有一个主页面,用于多个内容页面。 在每个内容页面上都有一个用户控件。 我想在点击主页面中的按钮时调用该控件的方法。 有可能吗?
先谢谢。
答案 0 :(得分:2)
您可以执行此操作来访问内容页面控件
protected void Button1_Click(object sender, EventArgs e)
{
UserControl_Type uc1 =
(UserControl_Type)ContentPlaceHolder1.FindControl("UserControlId");
if (uc1 != null)
{
uc1.Method();
}
}
我认为您应该将UserControl移动到母版页并在主页cs文件中的按钮单击中访问usercontrol方法。如果您不想显示此用户控件的任何内容页面,则可以执行以下操作
使用内容占位符:
在母版页中: 添加:
<asp:contentplaceholder id="UcControlPlaceHolder" runat="server">
<!-- User control here -->
</asp:contentplaceholder>
在不想要显示UserControl的内容页面中添加以下标记,并从您希望UserControl显示的所有内容页面中删除此标记:
<asp:Content ID="UcControlContent1"
ContentPlaceHolderID="UcControlPlaceHolder" Runat="Server">
</asp:Content>
答案 1 :(得分:1)
我想在主页上的按钮的点击上调用该控件的方法。可以吗???
是和否。如果您正在谈论客户端然后是,您可以通过JavaScript调用控件上的方法。如果你正在谈论服务器端,那么没有。
但是,我不得不问,如果控件在每个内容页面上都可用,那么它是主页面上现有的非常好的候选对象是吗?如果您在特定内容页面中不需要它,则可以隐藏它。