velbekomme.... du kan lige få et (meget lille, og meget ubrueligt) eksempel på en bag-om-ryggen-opdatering (det jeg skrev om tidligere).
du kan muligvis få lidt idéer af det, men det kan ikke bruges til noget direkte (f.eks. bliver det der indtastes ikke sendt tilbage til serveren :o)
Men... "chatten" bliver opdateret for hvert 3 sekund uden postback - så du kan måske bruge det til lidt inspiration, og du kan også selv smide beskeder ind på den ved at skrive noget, og trykke enter.
(selve siden "chatten" er på er bare lavet med html-kontroller, men du har jo siden i forvejen, og det er clientside koden der er det interessante).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Front</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="
http://schemas.microsoft.com/intellisense/ie5"> <SCRIPT language="JavaScript" type="text/javascript">
var targetUrl = "Back.aspx";
function updateChat(userid)
{
window.status="henter meddelelser på " + targetUrl;
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open( "POST", targetUrl, false);
xmlHttp.send();
var res = xmlHttp.responseText;
document.getElementById('txtChatBox').value += (res + "\n");
window.status = "meddelelser hentet";
}
function start()
{
updateChat();
setTimeout ("start()",2500);
}
function addMessage()
{
var typedMessageBox = document.getElementById('txtMessage');
var typedMessage = typedMessageBox.value;
if(typedMessage.length > 0)
{
document.getElementById('txtChatBox').value += ("> " + typedMessage + "\n");
typedMessageBox.value = "";
}
}
</SCRIPT>
</HEAD>
<body onkeydown="if(event.keyCode == 13){document.getElementById('btnSubmit').click();return false;}" onload="document.getElementById('txtMessage').focus();start();">
<form id="Form1" method="post" runat="server">
<P><TEXTAREA id="txtChatBox" runat="server" cols="40" rows="30"></TEXTAREA></P>
<P><INPUT id="txtMessage" style="WIDTH: 296px; HEIGHT: 22px" type="text" size="44"><INPUT id="btnSubmit" type="button" value="Button" onclick="addMessage();"></P>
</form>
</body>
</HTML>
Som du kan se af nedenstående to linier, bliver der kaldt en anden aspx-side (Back.aspx).
var targetUrl = "Back.aspx";
xmlHttp.open( "POST", targetUrl, false);
Den ser ud som følger :
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
Response.Write("< Klokken er nu " + DateTime.Now.ToString());
}
</script>
Det den sender tilbage, bliver så proppet ind i "chatten", og du vil ikke se noget postback.
Årsagen til at alt html-en skulle slettes fra "back-formen" er, at det ville komme med tilbage til klienten, og bliver proppet ind i tekstboksen.
Håber du kan bruge det til et eller andet :o)
mvh