0

我想通过使用 SQL 数据库连接检查身份验证来启动我的页面。这是我的代码,我不知道为什么它不起作用:

public partial class SiteMaster : System.Web.UI.MasterPage
{
  protected void Page_Load(object sender, EventArgs e)
  {
    // Try to open database.
    try
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = WebConfigurationManager.ConnectionStrings["blahblah"].ConnectionString;
        con.Open();
        con.Close();
        //successful login, do nothing.
    }
    catch (Exception err) //if error Opening, catch the error, and display
    {
        SiteMasterMsg.Text = "Could not login in using ___.";
        SiteMasterMsg.Text += err.Message;
    }

问题是页面刚刚死掉,并给了我默认的 IIS 错误页面,显示数据库连接登录失败。我希望它会“尝试”连接,然后在登录尝试失败时,捕获错误,并显示错误的页面。我的 Default.aspx 页面上有这个:

<asp:Label id="SiteMasterMsg" runat="server" />

我不知道出了什么问题。我错过了什么,还是有更好的方法来做到这一点?

提前致谢!

4

1 回答 1

1

我意识到问题是因为这段代码在我的 Site.Master.cs 页面上,所以页面永远不会真正完全开发,它会在某种程度的错误处停止,这就是我所看到的。解决方案是制作一个专用的 Login.aspx 页面,而不是将此代码放在 Site.Master.cs 页面中。

于 2013-04-22T20:02:00.203 回答