《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~
感谢老师的热心解答,代码有点多,请多包涵!
分享到:
精彩评论 3
东方_mrkj
学分:0 LV1
2011-11-25
沙发
读者你好:
    可以试一试,把AjaxControlToolkit.dll放到程序的bin目录下。
solely
学分:0 LV1
TA的每日心情
开心
2022-01-18 11:21:27
2011-11-25
板凳
目前网页中的弹出AJAX对话框的功能没办法实现,是不是还要另外安装跟AJAX有关的控件包之类的(我用的是VS2008)?如果不用的话,请问老师这个问题大致是什么原因造成的呢?
东方_mrkj
学分:0 LV1
2011-12-02
地板
读者朋友:
    您好,在IE里面设置一下安全性级别,允许运行javascript脚本。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照