我在主页面的登录视图控件中有登录状态,当我点击登录时,我需要在不刷新页面的情况下显示ajax更新面板中的登录控件。
当加载默认页面时,当我点击登录状态时,页面将指向登录页面,而不是更新更新面板。
有谁可以帮我解决这个问题?
以下是Default.aspx的代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
<asp:LoginStatus ID="LoginStatus1" runat="server"
LogoutAction="RedirectToLoginPage" LogoutPageUrl="~/Login.aspx" />
</AnonymousTemplate>
</asp:LoginView>
<asp:Login ID="Login1" runat="server">
</asp:Login>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Login1" />
</Triggers>
</asp:UpdatePanel>
以下是Default.aspx.vb的代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.load
If Not Me.IsPostBack Then
UpdatePanel1.Visible = True
Else
UpdatePanel1.Visible = False
End If
End Sub
答案 0 :(得分:0)
猜猜在web配置中有一个选项,您可以在使用asp.net的登录控件时指定登录URL。确保您的网络配置中没有这样的内容。
不要让更新面板不可见。不要在代码后面的updatepanel中做任何事情。 UpdatePanel本身不可见,它只是一个帮助您获得异步回发的容器。
相反,保持login1隐藏,当您单击登录状态时,会在您的代码后面的登录状态按钮的.click事件中显示它。
或者只需将登录控件放在div或面板中,然后隐藏并显示此面板。