<body>
<form id="form1" runat="server">
<% string id = Session["user"].ToString(); %>//insert c# code
<asp:MenuItem Navigateurl="<%= string.Format("~/LecturerProfile.aspx?user={0}",id) %>" Text="Lecturer Profile"/>
</asp:MenuItem>
</form>
</body>
但它有一个错误:“无法解析符号ID”
我不确定我是否在aspx页面中插入了正确的语法来插入c#代码。
帮助!!!我想在前面的代码中导航到LecturerProfile.aspx页面。你能否给我一些建议,以便更好地在aspx页面中获取Session [“user”] ???
答案 0 :(得分:0)
编辑:
使用空检查,您可以将标记更改为:
<form id="form1" runat="server">
<div>
<asp:Menu ID="Menu1" runat="server">
<Items>
<asp:MenuItem NavigateUrl='<%= string.Format("~/LecturerProfile.aspx?user={0}",Session["user"]== null? "0" : Session["user"].ToString()) %>' Text="Lecturer Profile" />
</Items>
</asp:Menu>
</div>
</form>
应该是:
<asp:MenuItem Navigateurl='<%= string.Format("~/LecturerProfile.aspx?user={0}",id) %>' Text="Lecturer Profile"/>
请注意双引号替换为单引号并删除了额外的</asp:MenuItem>
。
但是MenuItem
需要一个菜单才能存在。所以你的标记应该是这样的:
<% string id = Session["user"].ToString(); %>
<asp:Menu ID="Menu1" runat="server">
<Items>
<asp:MenuItem NavigateUrl='<%= string.Format("~/LecturerProfile.aspx?user={0}",id) %>' Text="Lecturer Profile" />
</Items>
</asp:Menu>
答案 1 :(得分:0)
试试这个。在会话中检查空验证总是更好
<% if (Session["user"] != null)
{
string id = Session["user"].ToString();
}
%>
<asp:MenuItem Navigateurl='<%= string.Format("~/LecturerProfile.aspx?user={0}",id) %>' Text="Lecturer Profile"/>