GridView HyperlinkField NavigateUrl重定向到login.aspx页面或所需页面

问题描述 投票:0回答:1

我想给主页搜索结果功能页面上的页面提供一个选项到gridview的超级链接字段navigateUrl如果用户登录则重定向到所需的页面,如果没有重定向到登录/注册页面,我将不胜感激。有人帮助我,我是怎么做的。谢谢

我没有太多的知识,但我知道我知道的一些

<% 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>
c# asp.net gridview
1个回答
0
投票

您可以在codeBehind(~/login.aspx处理程序)中将navigateUrl分配给gridView_ItemDataBound属性,但它不会阻止用户在地址行中键入http://server.com/Pages/Topic.aspx?topicId=123并打开页面。 正确的解决方案是检查用户是否登录该topic.aspx页面(在后面的代码中)并在必要时重定向到login.aspx?returnUrl=/Pages/Topic.aspx?topicId=123

© www.soinside.com 2019 - 2024. All rights reserved.