2

我正在使用“服务”类连接到数据库并将 DataTable 返回到我的 ASP.NET 页面。

我正在使用 try/catch 来捕获 SqlExceptions。我想在警报框中向用户显示异常文本。我该怎么做呢?

这是我在 Service.class 中的函数:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;

namespace Classes
{
    public class Service
    {
        private static DataTable getDataTable(string query)
        {
            DataTable dt = null;
            SqlConnection con = Dao.getConnection();
            if (Dao.checkConnection())
            {
                SqlDataAdapter da = new SqlDataAdapter(query, con);
                dt = new DataTable();
                try
                {
                    da.Fill(dt);
                }
                catch (SqlException ex)
                {
                //MessageBox.Show(ex.Message);
                Response.Write("<script>alert('This is Alert');</script>");
                //HttpContext.Current.Response.Write();
                //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ","alert('ERROR')", true);
                //var clientScript = Page.ClientScript;
                //clientScript.RegisterClientScriptBlock(null, "AlertScript", "alert('ERROR')'", true);
                //System.Diagnostics.Debug.WriteLine("Database error: " + ex.Message);
            }
        }
        return dt;
    }

编译器给了我这个:当前上下文中不存在名称“响应”。

我想这是非常基本的,只是还没有找到答案。评论的东西是我到目前为止所尝试的!

4

2 回答 2

1

您可以使用System.Web.HttpContext.Current.Response作为您正在寻找的响应在继承自 System.Web.UI.Page 的类下可用

System.Web.HttpContext.Current.Response.Write("<script>alert('This is Alert');</script>")
于 2013-04-06T18:04:12.023 回答
0

尝试这个

ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + String Exception message + "');", true);
于 2013-04-06T18:27:43.607 回答