我正在使用“Service”类来连接数据库并将DataTable返回到我的ASP.NET页面。
我正在使用try / catch来捕获SqlExceptions。我想在Alert框中向用户显示异常文本。我该怎么做?
这是我在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;
}
编译器给了我这个: “响应”这个名称在当前上下文中不存在。
我想这很基本,但还没有找到答案。 评论的内容是我到目前为止所尝试的内容!
答案 0 :(得分:1)
您可以使用System.Web.HttpContext.Current.Response作为您正在寻找的响应在继承自System.Web.UI.Page的类下可用
System.Web.HttpContext.Current.Response.Write("<script>alert('This is Alert');</script>")
答案 1 :(得分:0)
试试这个
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + String Exception message + "');", true);