将参数从 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;
它解决了我的需求。
我在将变量传递给用户控件时遇到问题。 当我传递硬编码值时,我的控件工作正常。但是传递变量不起作用。
我的 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;
它解决了我的需求。