我有一个名为MasterPage_MyMasterPage的母版页,我创建了一个静态方法
public static string GetRoleName()
{
string sRoleName="admin";
if (HttpContext.Current.Session["UserName"] != null)
{
sRoleName = HttpContext.Current.Session["UserName"].ToString();
}
return sRoleName;
}
在aspx页面上我将其称为
<a >Brayan <asp:Label runat="server" Text='<%= MasterPage_MyMasterPage.GetRoleName() %>' ></asp:Label>
但它不起作用,它打印为......
Brayan <span><%= MasterPage_MyMasterPage.GetRoleName() ;></span>
会话[&#34; UserName&#34;]在登录成功时绑定。请帮助我。
答案 0 :(得分:2)
<a >Brayan <asp:Label runat="server" Text='' ><%= MasterPage_MyMasterPage.GetRoleName()%> </asp:Label>
答案 1 :(得分:0)
<%= ... %>
语法的Inline expressions可用于呈现页面。
但它们无法用于设置服务器控制属性,这是您尝试执行的操作(Label.Text属性)。
请考虑使用data-binding syntax:
... Text = "<%# MasterPage_MyMasterPage.GetRoleName() %>"
答案 2 :(得分:0)
试试这个
<%= ((MasterPage_MyMasterPage)Page.Master).GetRoleName() %>
更新
在你的cs文件中创建一个类似于
的受保护方法protected string getRoleName()
{
return ((MasterPage_MyMasterPage)Page.Master).GetRoleName();
}
并在aspx文件中
<%= getRoleName() %>
答案 3 :(得分:0)