想请教一下大家 ,如果做一个在线咨询页面发送按钮是用Html控件好,还是服务器控件好。
服务器控件的话单击发送会回传,页面会刷新用户体检不好,但是用Html控件呢就要用ajax来发送请求传输发送内容到别的页面进行处理,这是一个发送按钮使用的会很频繁,用ajax会有很多问题。
想请问一下大家这个发送按钮该怎么做会比较好,(上面说错,新手勿怪- -)。
服务器控件的话单击发送会回传,页面会刷新用户体检不好,但是用Html控件呢就要用ajax来发送请求传输发送内容到别的页面进行处理,这是一个发送按钮使用的会很频繁,用ajax会有很多问题。
想请问一下大家这个发送按钮该怎么做会比较好,(上面说错,新手勿怪- -)。
=====================================================
用updatepanel包一下,就不会回传了
谢谢你的回复,用updatepanel的话 只是不用手写ajax他只是封装了一下, 解析后还是差不多啊。 期待更好的回复 谢谢。
谁说每次刷新页面用户体验不好,就我个人看来,刷新的效率远比Ajax异步请求的效率要高。
如果真要说好的话,html在互联网上效率也是最高的,服务器控件当然不能比。用updatepanel包一下,就不会回传了,个人感觉太死板,如果真的要追求好的话,那你就生成静态页面。因为现在的服务器也不会在乎那么一点空间了。
没有很久,但是我不同意您的说法,你觉得每次单击一次发送整个页面刷新一下会很好,至少我觉得不好,我还没看到网上哪个在线咨询是这样的,都是无刷新的。比如这个网站 http://chat.live800.com/live800/chatClient/chatbox.jsp?companyID=23919&jid=9897881703&enterurl=http%3A%2F%2Fwww%2Ecsfeixun%2Ecom%2F&tm=1281430314875 北大青鸟的在线咨询 很感谢你的回复。期待跟好的答案。
都是用updatepanel包一下嘛! 大家有没有别的办法呢!
你好,你说的是显示聊天信息页面用iframe 我是用了iframe,但是我的问题是单击发送按钮它会使页面刷新。
<html>
<head>
<title> 当前是聊天页面 </title>
</head>
<body>
<iframe src="ref.aspx" height="0"></iframe>
其他相关代码
...
...
</body>
<html>
在这个页面需要提交服务器时,把要发挥的数据传给 ref.aspx页面,并让他回调服务器
您好 你能贴贴发送请求的代码嘛 我不是太懂只会用Ajax来发一个请求,或JQuery
你要是只是做一个 咨询页面,
完全可以JQuery+ .aspx或是JQuery +.ashx
可以做到异步更新页面!
就可以了!不建议用UpdatePanel
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Message.aspx.cs" Inherits="WebApplication1.Message" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<script language=javascript>
function sub(value) {
var field = window.frames['ref'].document.getElementById("HiddenField1"); field.value = value;
window.frames['ref'].document.form1.submit();
}
</script>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" Width="215px"></asp:TextBox>
<input id="Button1" type="button" value="发送" onclick="sub(TextBox1.value);" /></div>
<iframe id="ref" name="ref" src="Ref.aspx" height="0"></iframe>
</form>
</body>
</html>
刷新页面<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Ref.aspx.cs" Inherits="WebApplication1.Ref" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<script runat="server">
protected void Page_Load( object sender, EventArgs e )
{
if( IsPostBack )
{
string message = HiddenField1.Value;
}
}
</script> <form id="form1" runat="server">
<div>
<asp:HiddenField ID="HiddenField1" runat="server" />
</div>
</form>
</body>
</html>在 message 的 TextBox1 中输入的字符可以在 ref 的 load 读取
也可以使用 iframe 局部刷新