将参数从 aspx 页面传递到 UserControl

passing an argument from an aspx page to a UserControl

我在将变量传递给用户控件时遇到问题。 当我传递硬编码值时,我的控件工作正常。但是传递变量不起作用。

我的 ASPX 代码:

<% System.Console.Out.WriteLine("Operate Flag is set to: " + operateFlag); %>
<uc:menu ID="navigationMenu" runat="server" operate="<%# operateFlag %>" />

从调试输出中,很明显 operateFlag 设置为 'true'。

我的控件代码隐藏只有如下合成方法:

public partial class MenuControl : System.Web.UI.UserControl
{
    public bool operate { get; set; }
}

我还从控件内部打印出接收到的值:

<% System.Console.Out.WriteLine("Operate Flag is received as: \'" + operate + "\'"); %>

此处,操作被控件接收为 False。

我找到了一种让我的页面正常运行的方法。还是不明白原来哪里错了"form." 现在,和之前从 OnLoad() 一样,我设置控件的 属性 而不是将变量传递为:

navigationMenu.operate = false; 

它解决了我的需求。