2017-12-17 3 views
0

홈 페이지 검색 결과 기능에서 발견 된 페이지에 gridview hyperlinkfield에 대한 옵션을 제공하려는 경우 navigateUrl 사용자가 로그인되어 있으면 원하는 페이지로 리디렉션합니다. 로그인로 리디렉션하지 않을 경우/누군가가 내가 고마워요,이GridView HyperlinkField NavigateUrl login.aspx 페이지 또는 원하는 페이지로 리디렉션

내가 많은 지식이없는 어떻게 나에게 도움이 경우 page.i가 감사합니다 등록하지만 난 어떤 내가 또한

<% if (Session["user"] == null) { %> 
<li><a href="login.aspx">Login/Register</a></li> 
<% } %> 

과 알고 알고 나는 알고있다

<asp:TemplateField HeaderText="Name" SortExpression="Name"> 
    <ItemTemplate> 
     <asp:HyperLink ID="HyperLink1" Text='<%# eval("Name") %>' NavigateUrl='<%#"~/Pages/Topic.aspx?topicId=" + eval("topicId") %>' runat="server"></asp:HyperLink> 
    </ItemTemplate> 
</asp:TemplateField> 

답변

0

codeBehind (gridView_ItemDataBound 처리기)의 navigateUrl 속성에 ~/login.aspx을 할당 할 수 있지만 주소 줄에 http://server.com/Pages/Topic.aspx?topicId=123을 입력하고 페이지를 열지 않습니다.
올바른 해결책은 사용자가 topic.aspx 페이지 (코드 숨김)에 로그인했는지 확인하고 필요한 경우 login.aspx?returnUrl=/Pages/Topic.aspx?topicId=123으로 리디렉션하는 것입니다.