我想通过使用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" />
我无法弄清楚出了什么问题。我错过了什么,或者有更好的方法可以做到这一点吗?
提前致谢!
答案 0 :(得分:1)
我意识到问题是因为这个代码在我的Site.Master.cs页面上,所以页面永远不会真正完全开发,它会停在某种程度的错误,这就是我所看到的。解决方案是创建一个专用的Login.aspx页面,而不是将此代码放在Site.Master.cs页面中。