используйте QueryString с asp: MenuItem - PullRequest
1 голос
/ 29 марта 2011

Как передать строку с QueryString из MenuItem?Я попытался

/UserDisplay.aspx?UserName=<%(String)Session["sessUserName"]%>"

Но это вернуло ошибки ..

Есть ли способ сделать это в пункте меню, или я должен сделать это в 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>

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Попробуйте:

<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" />
0 голосов
/ 03 октября 2012
<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');"/>
...