首页上一页 1 下一页尾页 3 条记录 1/1页
《ASP.NET开发典型模块大全》的“在线考试系统”中AJAX对话框的弹出问题
发表在ASP.NET图书答疑
2011-11-23
是否精华
是
否
版块置顶:
是
否
老师您好!在“在线考试系统”模块中,有一个后台页面是PaperSetup.aspx.cx,其中使用到了AJAX的部分功能(弹出一个AJAX对话框),但是运行之后该AJAX功能无法实现,即点击相应按钮后没有反映。AJAXCommond类已经在公共类中有定义:
public AjaxCommond()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
///<summary>
///在ASP.NET AJAX环境中,为Button控件弹出一个提示对话框
///</summary>
///<param name="button">Button控件</param>
///<param name="message">对话框中的消息</param>
public void OpenDialogForButton(Button button, string message)
{
ScriptManager.RegisterClientScriptBlock(
button,
typeof(Button),
DateTime.Now.ToString().Replace(":", " "),///使用当前时间作为标识
"alert('" + message + "')",
true);
}
///<summary>
///在ASP.NET AJAX环境中,为Page对象弹出一个提示对话框
///</summary>
///<param name="button">Page对象</param>
///<param name="message">对话框中的消息</param>
public void OpenDialogForPage(Page page, string message)
{
ScriptManager.RegisterClientScriptBlock(
page,
typeof(Page),
DateTime.Now.ToString().Replace(":", " "),///使用当前时间作为标识
"alert('" + message + "')",
true);
}
然后在PaperSetup.aspx.cx中使用该类方法的代码是:
protected void CheckPagerName_Click(object sender, EventArgs e)
{
AjaxCommond ac = new AjaxCommond();
SqlDataReader read = ExceRead("select * from Papermr where PaperName='" +
this.txtPaperName.Text + "'");
read.Read();
if (read.HasRows)
{
if (this.txtPaperName.Text == read["PaperName"].ToString())
{
//弹出AJAX环境中的对话框
ac.OpenDialogForButton((Button)sender, "很遗憾!该试卷名称已经存在!!!");
}
}
else
{
//弹出AJAX环境中的对话框
ac.OpenDialogForButton((Button)sender, "恭喜您!该试卷名称可以添加!!!");
}
read.Close();
}
public SqlDataReader ExceRead(string strsql)
{
string connStr = "Data Source=(localhost);DataBase=mrOnLineExam;User
ID=sa;Password=sa;";
SqlConnection con = new SqlConnection(connStr);
con.Open();
//创建一个SqlCommand对象,表示要执行的SqlCom语句或存储过程
SqlCommand sqlcom = new SqlCommand(strsql, con);
SqlDataReader read = sqlcom.ExecuteReader();
return read;
}
请问是哪里出错导致的,使用AJAX功能需要再另外安装什么控件包吗?我用的是VS2008~
感谢老师的热心解答,代码有点多,请多包涵!
public AjaxCommond()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
///<summary>
///在ASP.NET AJAX环境中,为Button控件弹出一个提示对话框
///</summary>
///<param name="button">Button控件</param>
///<param name="message">对话框中的消息</param>
public void OpenDialogForButton(Button button, string message)
{
ScriptManager.RegisterClientScriptBlock(
button,
typeof(Button),
DateTime.Now.ToString().Replace(":", " "),///使用当前时间作为标识
"alert('" + message + "')",
true);
}
///<summary>
///在ASP.NET AJAX环境中,为Page对象弹出一个提示对话框
///</summary>
///<param name="button">Page对象</param>
///<param name="message">对话框中的消息</param>
public void OpenDialogForPage(Page page, string message)
{
ScriptManager.RegisterClientScriptBlock(
page,
typeof(Page),
DateTime.Now.ToString().Replace(":", " "),///使用当前时间作为标识
"alert('" + message + "')",
true);
}
然后在PaperSetup.aspx.cx中使用该类方法的代码是:
protected void CheckPagerName_Click(object sender, EventArgs e)
{
AjaxCommond ac = new AjaxCommond();
SqlDataReader read = ExceRead("select * from Papermr where PaperName='" +
this.txtPaperName.Text + "'");
read.Read();
if (read.HasRows)
{
if (this.txtPaperName.Text == read["PaperName"].ToString())
{
//弹出AJAX环境中的对话框
ac.OpenDialogForButton((Button)sender, "很遗憾!该试卷名称已经存在!!!");
}
}
else
{
//弹出AJAX环境中的对话框
ac.OpenDialogForButton((Button)sender, "恭喜您!该试卷名称可以添加!!!");
}
read.Close();
}
public SqlDataReader ExceRead(string strsql)
{
string connStr = "Data Source=(localhost);DataBase=mrOnLineExam;User
ID=sa;Password=sa;";
SqlConnection con = new SqlConnection(connStr);
con.Open();
//创建一个SqlCommand对象,表示要执行的SqlCom语句或存储过程
SqlCommand sqlcom = new SqlCommand(strsql, con);
SqlDataReader read = sqlcom.ExecuteReader();
return read;
}
请问是哪里出错导致的,使用AJAX功能需要再另外安装什么控件包吗?我用的是VS2008~
感谢老师的热心解答,代码有点多,请多包涵!