原本是在asp.net 后台调用js方法来做的。结果测试的时候发现的问题,查来查去只能用ajax 来实现。通过GridView来显示的信息,后面有结束案件按钮(LinkButton),页面有代码(ToolTip='<%#Eval("id") %>')
原本是在此按钮的点击事件中,通过获取id,查询出所有需要的信息,然后调用js方法(断开两台远程终端的链接)来实现需求。
现在发现问题:如果远程终端网线掉了,点结束案件,返回的是false。也是可以结束的。(这是不对的)
是否需要通过ajax来实现获取返回值,控制后台代码。
js方法、
    function delVideo()
    {
    
        var ok =false;
        
         var roominfo=document.getElementById("hidroominfo").value
          var xmldomdis = XmlDom("<command></command>");
           AddNode(xmldomdis, "command", "name", "disConnect")
           var resdis=doCmd(xmldomdis.xml,roominfo)        if(delXml(roominfo,false))
        {
            var xmldom = XmlDom("<command></command>");
             AddNode(xmldom, "command", "name", "setConCfg")
             AddNode(xmldom, "command", "params", "")
             AddElement(xmldom, "command", "name","device")
             //AddElement(xmldom, "command", "ip", "127.0.0.1") 
             AddElement(xmldom, "command", "port", "1")  
             var res=doCmd(xmldom.xml,roominfo)            switch(res)
            {
              case "-2":
                 alert("请确保本地设备已连通")
                    ok=false
                break
              case "0":
                    ok=true
                    document.getElementById("LinkButton1").click()
                    return delVideoRemote()
           return deL()
                 break
              default:
                                   ok=false
                break
            }
            //return ok
        }        if(ok)
        {
           
        }
        //document.getElementById("TextBox4").value=ok;
//alert(ok)
        return ok;
    }删除按钮的事件
    //删除按钮
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        int resl = Convert.ToInt32(Request.QueryString["id"]);
        DateTime fac_end = new DateTime();
        fac_end = Convert.ToDateTime(DateTime.Now.ToString());
        LinkButton btn = sender as LinkButton;
        int id = int.Parse(btn.ToolTip.ToString());//GridView 表主键
        DataTable dt = my.GetGridInfoById(id);
        string Room_id = Convert.ToString(dt.Rows[0]["Room_id"].ToString());
        string RoomName = Convert.ToString(dt.Rows[0]["RoomName"].ToString());
        string Lower_Room_id = Convert.ToString(dt.Rows[0]["Lower_Room_id"].ToString());
        string Lower_Room_name = Convert.ToString(dt.Rows[0]["Lower_Room_name"].ToString());
        string quest_id = Convert.ToString(dt.Rows[0]["quest_id"].ToString());
        //获取信息赋值给文本框
        string sqlroom = "select *from room where room_id='"+Room_id+"'";
        DataTable dtroom = new DataTable();
        dt = conn.RunSQLReturnDS(sqlroom, "ConnectionString");
        this.hidroominfo.Text = dt.Rows[0]["RoomLocation"].ToString() + "|" + dt.Rows[0]["USERS"].ToString() + "|" + dt.Rows[0]["psw"].ToString();
        string sqlLower_room = "select *from Lower_Room where Lower_Room_id='" + Lower_Room_id + "'";
        DataTable dtL = new DataTable();
        dtL = conn.RunSQLReturnDS(sqlLower_room, "ConnectionString");
        if (dtL.Rows.Count > 0)
        {
            this.Lower_Room_id.Text = dtL.Rows[0]["Lower_Room_id"].ToString(); ;
            this.Lower_Room_ip.Text = dtL.Rows[0]["Lower_Room_ip"].ToString();
            this.Lower_Room_name.Text = dtL.Rows[0]["Lower_Room_name"].ToString();
            this.Lower_Room_pwd.Text = dtL.Rows[0]["Lower_Room_pwd"].ToString();
            if (dtL.Rows[0]["Lower_Room_type"].ToString() == "300")
            {
                this.Lower_Room_type.Text = "高码流";
            }
            else
            {
                this.Lower_Room_type.Text = "低码流";
            }
            this.Lower_Room_user.Text = dtL.Rows[0]["Lower_Room_user"].ToString();
            this.Lower_Room_call_pwd.Text = dtL.Rows[0]["Lower_Room_call_pwd"].ToString();
            this.hideLoroominfo.Text = dtL.Rows[0]["Lower_Room_ip"].ToString() + "|" + dtL.Rows[0]["Lower_Room_user"].ToString() + "|" + dtL.Rows[0]["Lower_Room_pwd"].ToString();
           //Show(this.hideLoroominfo.Text);
        }        this.RegisterStartupScript("LinkButton1", " <script type='text/javascript'>delVideo()</script>");//执行JS代码,断开连接        string sql = "delete from GridViewHome where id='"+id+"'";
        int num=dh.RunSQLReturnInt(sql);            if (num > 0)
            {                //Page.RegisterStartupScript("", "<script language=Javascript>alert('结束成功');</script>");
                Page.RegisterStartupScript("", "<script language=Javascript>alert('结束成功');window.document.location.href=\"PlayMain.aspx\";window.parent.frametree.document.location.replace('RoomTreeMain.aspx');</script>");
                this.TextBox1.Text = "";
                this.TextBox2.Text = "";
                //string quid=Session["quid"].ToString();
                string sqlUpdate = "update tblUseDetail set fact_end='" + fac_end + "' , isend=1 where ByInquest_id='" + quest_id + "'";
                dh.RunSQL(sqlUpdate);
                dh.RunSQL("update lower_room set lower_room_state=NULL where lower_room_id='" + Lower_Room_id + "'");
            }
            selectClick();
            this.TreeView1.Nodes.Clear();
            this.TreeView2.Nodes.Clear();
            dayuan = CreatTableRoom();
            //GetYuan();
            FillTree("", null);
            FillLTree("", null);//远程房间    }
求各位大侠帮忙...