我有一个用于多个内容页面的母版页。在每个内容页面上都有一个用户控件。我想在单击母版页中的按钮时调用该控件的方法。
可能吗?
您可以这样做以访问内容页面控件
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>
我想在单击母版页上的按钮时调用该控件的方法。可以吗???
是和不是。如果您在谈论客户端,那么可以,您可以通过 JavaScript 调用控件上的方法。如果您在谈论服务器端,那么没有。
但是,我确实要问,如果控件在每个内容页面上都可用,那么它是存在于母版页上的一个很好的候选者,是吗?如果您在特定内容页面中不需要它,您可以隐藏它。