感谢您使用微软产品。ASP.NET其实质就是一种server端的技术,其许多代码都是在IIS服务器端被执行的;从客户端浏览器看来,ASP.NET页面只不过是一些标准的HTML代码。因此,你如果要做到不刷新IE客户端就读取服务器的新数据,就需要用传统的HTML/DHTML客户端方法(就是用Jscript或VBScript)。Microsoft XMLHTTP是一个很好的解决方案。它可以使你不刷新客户端浏览器就可以读取服务器数据。<script language="JScript"> function PostOrder(xmldoc) { var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp.Open("POST", "http://myserver/orders/processorder.asmx", false); xmlhttp.Send(xmldoc); return xmlhttp.responseXML; } </script>这里,xmldoc可以是你想发送给服务器端的数据(可以是XML数据),也就是说,你也可以利用这个发送SOAP请求(SOAP是基于XML的)给远端的Web Service。这样远端Web Service的计算结果就可以通过xmlhttp.responseXML给客户端;此时IE客户端无需刷新页面。参考: HOWTO: Submit HTML Form Data by Using XMLHTTP or ServerXMLHTTP Object (Q290591) http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q290591Exchanging Data Over the Internet Using XML http://msdn.microsoft.com/library/en-us/dnmag00/html/cutting0400.asp?frame=true- 微软全球技术中心 VB开发支持本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
不是不是,web service不能实现的!我要浏览器不刷新!web service每操作一次浏览器就要刷新一次!!
function PostOrder(xmldoc)
{
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.Open("POST", "http://myserver/orders/processorder.asmx", false);
xmlhttp.Send(xmldoc);
return xmlhttp.responseXML;
}
</script>这里,xmldoc可以是你想发送给服务器端的数据(可以是XML数据),也就是说,你也可以利用这个发送SOAP请求(SOAP是基于XML的)给远端的Web Service。这样远端Web Service的计算结果就可以通过xmlhttp.responseXML给客户端;此时IE客户端无需刷新页面。参考:
HOWTO: Submit HTML Form Data by Using XMLHTTP or ServerXMLHTTP Object (Q290591)
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q290591Exchanging Data Over the Internet Using XML
http://msdn.microsoft.com/library/en-us/dnmag00/html/cutting0400.asp?frame=true- 微软全球技术中心 VB开发支持本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
server可以最大程度保护代码,但是性能
function PostOrder(xmldoc)
{
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.Open("POST", "http://myserver/orders/processorder.asmx", false);
xmlhttp.Send(xmldoc);
return xmlhttp.responseXML;
}
</script>
<C#>
protected override void OnLoad(EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
try
{
Response.ContentType = "text/xml";
xmlDoc.Load(Request.InputStream);
在这里做你想做的操作...但结果一定是要返回XML格式的数据如:
DataSet Ds = (查询返回数据);
XmlDocument xmlResult = Ds.GetXml();
xmlResult.Save(Response.OutputStream);
Response.End();
}catch(System.Exception oe)
{
......
}
}
在Javascript端便能得到返回的Xml文档
既:return xmlhttp.responseXML 返回XmlDocument类型的文档,够详细了吧,我们已经开始用这种技术了,希望你满意