原本是在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);//远程房间 }
求各位大侠帮忙...
原本是在此按钮的点击事件中,通过获取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);//远程房间 }
求各位大侠帮忙...
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货