ASPX页面用JS代码无法调用后台CS文件中的dataset数据,后台代码测试过,能取出数据无误。涉及到AJAX, JS代码

googee2008 2009-05-15 10:59:50
页面代码如下
<%@ Page language="c#" Inherits="JuSNS.Web.home.msn.Main" CodeFile="Main.aspx.cs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<head>
<title>Web版MSN</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<link href="/template/<% Response.Write(JuSNS.Config.UiConfig.SkinStyle); %>/css/global.css" id="skinpath" type="text/css" rel="stylesheet" />
<script language="jscript" src="../../js/CLASS_MSN_MESSAGE.js"></script>
<script language="javascript" type="text/javascript" src="../../js/common.js"></script>
<style type="text/css">
A { COLOR: #013da4; TEXT-DECORATION: none }
A:visited { COLOR: #013da4; TEXT-DECORATION: none }
A:link { COLOR: #013da4; TEXT-DECORATION: none }
</style>
</head>
<body bottomMargin="0" onbeforeunload="javascript:__doPostBack('lbExit','')" bgProperties="fixed" bgcolor="#dae1f7" leftMargin="0" topMargin="0" scroll="no" onLoad="Init()" rightMargin="0">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" height="100%" cellSpacing="1" cellPadding="1" width="100%" align="center"
border="0">
<TR height="50">
<TD align="center" style="HEIGHT: 39px"><asp:label id="lblUsername" runat="server" Font-Bold="True" ForeColor="#2767C8" Font-Size="Large"></asp:label>
</TD>
<td style="HEIGHT: 39px">
<SELECT name="user_status" onChange="setUserStatus()">
<OPTION value="1" selected>在线</OPTION>
<OPTION value="2">隐身</OPTION>
</SELECT>
</td>
<td style="HEIGHT: 39px">
<asp:linkbutton id="lbExit" runat="server" ForeColor="CornflowerBlue" onclick="lbExit_Click">注销</asp:linkbutton></td>
</TR>
<tr>
<td bgcolor="#fbfcfe" colspan="3" style="HEIGHT: 39px">在线友人</td>
</tr>
<TR>
<TD bgcolor="#fbfcfe" valign="top" colSpan="3" height="450">
<div id="userlist" style="MARGIN: 10px"></div>
</TD>
</TR>
<TR>
<TD colSpan="3"></TD>
</TR>
</TABLE>
</form>
<script type="text/jscript" language="jscript">
// 标志发送消息窗口是否打开的变量
var sendWindow = false;

// 检查用户状态是否变化的变量
var changedTimes = 0;

// 主进程
mainLoop();

function mainLoop()
{
// 检查用户登录状态
checkStatus();

// 更新用户列表
refreshUserlist();

// 检查最新消息
checkNewMessage();

// 每隔1秒执行一次JuSNS.Web.home.msn.MainLoop函数
setTimeout("mainLoop()", 1000);
}

// 将select的选中值设置为value
function setSelectedValue(selectname, value)
{
// 查找value对应于select中选项的序号
var index = -1;
var select = el(selectname);
for (var i = 0;i < select.options.length;i++)
{
if (select.options[i].value == value)
{
index = i;
break;
}
}

// 更改select的选中选项的序号
select.selectedIndex = index;
}

// 检查用户登录状态
function checkStatus()
{
// 获取用户登录状态
var status =JuSNS.Web.home.msn.Main.CheckStatus().value;

// 设置select的值
setSelectedValue("user_status", status);
}

// 更新用户列表
function refreshUserlist()
{
// 获取服务器端用户表UsersChanged字段的值
var changed =JuSNS.Web.home.msn.Main.StatusChanged().value;

// 如果用户表发生了变化
if (changed > changedTimes)
{
// 记下本次记录的UsersChanged字段的值
changedTimes = changed;

// 获取用户信息的数据表对象
var arUserlist =JuSNS.Web.home.msn.Main.GetOnlineUserList().value.Tables[0];

// 用于显示用户信息的<div>对象
var divUserlist = el("userlist");

// 删除原有的内容
while (divUserlist.childNodes.length > 0)
{
divUserlist.removeChild(divUserlist.childNodes[0]);
}

// 显示用户列表
for (var i = 0;i < arUserlist.Rows.length;i++)
{
// 用户登录名
var Email = arUserlist.Rows[i].Email;

// 昵称
var UserName = arUserlist.Rows[i].UserName;

// 创建用于显示一条用户信息的<div>对象
var result = document.createElement("div");

// 光标形状为手形
result.style.cursor = "pointer";

// 内补丁
result.style.padding = "2px 0px 2px 0px";

// 鼠标点击响应,打开发送消息窗口
result.onclick = function ()
{
// 如果发送消息窗口尚未打开
if (!sendWindow)
{
// 打开发送消息窗口,注意传递参数username和window
window.showModelessDialog("SendMsg.aspx?Email=" + Email,
window,"help:no;unadorned:yes;edge:sunken;status:no");
}
};

// 用户名和昵称的文本显示在<span>对象中
var result1 = document.createElement("span");

// 鼠标进入进出效果
result1.onmouseover = function ()
{
this.style.color = "#205288";
};
result1.onmouseout = function ()
{
this.style.color = "#000000";
};

// 显示样式
result1.style.textAlign = "left";
result1.style.fontWeight = "bold";
result1.style.fontFamily = "Arial, Verdana";

// 显示:用户名(昵称)
result1.innerHTML = username + " (" + nickname + ")";

// 将<div>对象附加到DOM中
result.appendChild(result1);
divUserlist.appendChild(result);
}
}
}

// 检查新消息
function checkNewMessage()
{
// 如果发送消息窗口未打开
if (!sendWindow)
{
// 获取新消息
var dt =JuSNS.Web.home.msn.Main.GetNewMessage().value.Tables[0];

// 如果有新消息
if (dt.Rows.length > 0)
{
// 发送者
var sender = dt.Rows[0].sender;

// 内容
var content = DealBrackets(dt.Rows[0].content);

// 提示框
var MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,"消息提示:",sender + "说:",content);

// 设置点击提示框消息的响应函数
MSG1.oncommand = function()
{
if (!sendWindow)
{
window.showModelessDialog("SendMsg.aspx?Email=" + sender, window,"help:no;unadorned:yes;edge:sunken;status:no");
}

};

// 显示提示框
MSG1.rect(null,null,null,screen.height-50);
MSG1.speed = 10;
MSG1.step = 5;
MSG1.show();
}
}
}

// 设置用户登录状态
function setUserStatus()
{
// 用户名
var username = el("lblUsername").innerText;

// 状态
var status = el("user_status").value;

// 调用服务器端Ajax方法
JuSNS.Web.home.msn.Main.SetUserStatus(username, status);
}

</script>
</body>
</HTML>
...全文
533 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuexiaohu123 2009-08-29
  • 打赏
  • 举报
回复
帮顶
googee2008 2009-05-15
  • 打赏
  • 举报
回复
求助高手
googee2008 2009-05-15
  • 打赏
  • 举报
回复
都去哪儿了

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧