从一个类文件访问标签到另一类文件c#和asp.net

时间:2018-07-21 09:43:48

标签: c# asp.net webforms

我已经创建了一个数据库连接类文件,如下所示。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using System.Data.SqlClient;
using Asset;

namespace Asset.Modules
{
    public class Dbconn
    {

    public bool CreateDBConnection()
    {
        SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["AssetDBConnection"].ConnectionString);

        try
        {
            con.Open();
            return true;
        }
        catch (SqlException ex)
        {
            errorLabel.Text = ex.Message;
            errorLabel.Visible = true;
            return false;
        }
    }
 }

errorLabel在我的Default.aspx页面上定义,如下所示;

<asp:Label ID="errorLabel" runat="server"></asp:Label>

我得到的错误是:名称'errorLabel'在当前上下文中不存在。

如何获取Dbconn文件以访问位于default.aspx页上的标签?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

可能这可能需要...

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        ....accessing the database conn shared instance 

        Label myLabel = this.FindControl("errorLabel") as Label;
        myLabel.Text = "my text";
    }
}

答案 1 :(得分:0)

您可以将CurrentHandler强制转换回Page对象,并在CreateDBConnection()中使用FindControl。

Page page = HttpContext.Current.CurrentHandler as Page;
Label lbl = page.FindControl("errorLabel") as Label;
lbl.Text = "There was an error.";