如何从MenuItem传递带QueryString的字符串? 我试过了
/UserDisplay.aspx?UserName=<%(String)Session["sessUserName"]%>"
但这会返回错误..
有没有办法在menuitem中执行此操作,还是必须在OnClick事件中执行此操作?
根据请求,更多代码:
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu"
EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"
onmenuitemclick="NavigationMenu_MenuItemClick">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
<asp:MenuItem NavigateUrl="~/UserManagement/UserManagement.aspx" Text="User Management">
<asp:MenuItem NavigateUrl="~/UserManagement/UserManagement.aspx" Text="Manage Users" />
<asp:MenuItem NavigateUrl="~/UserManagement/UserDisplay.aspx" Text="New User"/>
</asp:MenuItem>
<asp:MenuItem NavigateUrl="~/UserManagement/UserDisplay.aspx?UserName=<%(String)Session["sessUserName"]%>" Text="FYI Access Request"/>
</Items>
</asp:Menu>
答案 0 :(得分:1)
试试这个:
<asp:MenuItem NavigateUrl='~/UserManagement/UserDisplay.aspx?UserName=<%=(String)Session["sessUserName"]%>' Text="FYI Access Request"/>
我最近没有使用过WebForms,但我认为你需要使用<%= %>
标签(而不是<% %>
)。我还记得一些使用单引号('
)而不是双引号修复的问题,但这可能是也可能不是问题。
听起来你可能需要在代码隐藏中处理这个问题:
public void MyAccountLinkInit(object sender, EventArgs args)
{
((MenuItem)sender).NavigateUrl =
"~/UserManagement/UserDisplay.aspx?UserName=" + Session["sessUserName"];
}
...并按照以下方式连接此处理程序:
<asp:MenuItem OnInit="MyAccountLinkInit" Text="FYI Access Request" />
答案 1 :(得分:-1)
<script type="text/javascript">
function GoToPage(url) {
window.location = url + '?ins=<%=cid %>';
return false;
}
</script>
<asp:MenuItem Text="FINANCIAL SUMMARY" NavigateUrl="javascript:GoToPage('ClientMainView.aspx');"/>