我想给主页搜索结果功能页面上的页面提供一个选项到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>
您可以在codeBehind(~/login.aspx
处理程序)中将navigateUrl
分配给gridView_ItemDataBound
属性,但它不会阻止用户在地址行中键入http://server.com/Pages/Topic.aspx?topicId=123
并打开页面。
正确的解决方案是检查用户是否登录该topic.aspx
页面(在后面的代码中)并在必要时重定向到login.aspx?returnUrl=/Pages/Topic.aspx?topicId=123
。