c# - ASP defaultUrl 代码不执行

标签 c# asp.net

我有一个 LogIn.aspx 页面,该页面当前设置为我的项目的起始页。我正在使用 ASP 身份验证,并有一个登录按钮来启用对应用程序其余部分的访问。

<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" 
            CssClass="button" ValidationGroup="Login1" />

我的应用程序似乎将登录用户定向到项目中实际上并不存在的 default.aspx。我现在在 web.config 中设置了以下内容:

<authentication mode="Forms" >
  <forms loginUrl="login.aspx" defaultUrl="~/Secure/Default.aspx"/>      
</authentication>

Default.aspx 包含以下代码:

public partial class Secure_Default : System.Web.UI.Page
{
        protected void Page_Load(object sender, EventArgs e)
        {
           RoleRedirect();
        }

        public void RoleRedirect()
        {
            if (Boat_Registration.Code.utils.MembershipUtil.IsCurrentUserHarbourMaster())
            {
                Response.Redirect("~/Secure/HarbourMaster/Default.aspx");
            }            
            else
            {
                Response.Redirect("~/Secure/CustomerSummary.aspx");
            }
        }
 }

但是发生的事情是,一旦用户登录,他们将被定向到 Default.aspx,但后面的代码没有触发,它们被留在一个空页面上,该页面应该将它们重定向到管理员主页或普通用户主页,具体取决于他们的角色。

谁能告诉我为什么我添加的 defaultUrl 没有执行后面的代码?

最佳答案

在我看来错误出现在“Default.aspx”标记页中。检查页面指令,尤其是“Inherits”属性。应该指向您的代码隐藏文件。

关于c# - ASP defaultUrl 代码不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24694610/

相关文章:

c# - 使用 C# 的 MSBUILD 输出

c# - 报表查看器中的水平表

asp.net - 如何使用javascript标签发送参数?

c# - 在 web.config 中允许角色

c# - 检测 BinaryExpression 中的括号

C#访问内存映射文件

c# - 如何在 C# 中从 Oracle 数据库中删除一行?

javascript - 将输出从 ToDataURL() 传递到 ASP.NET 代码后面的方法?

asp.net - 为什么我要在服务器上运行 Html 控件?

asp.net - 如果我锁定HttpContext.Current.Cache.Insert方法,是否有任何令人讨厌的方面的影响