我想在主页搜索结果功能上找到的页面选项到gridview的超级链接字段如果用户已登录,则导航将重定向到所需的页面,如果没有重定向到登录/注册页面。我将如果有人协助我如何做,请感激不尽。谢谢
我没有太多的知识,但我知道我知道的一些
<% 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 :(得分: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
。