Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>try this.. Sample Image - SimpleChat.jpg Introduction</p> <p>And why not, how to create an easy chat room for your web site? Well, the best way is to use a nice database to store messages; however, for demo purposes, I'll use a static array. I know, you won't be able to use it in your web farm. Take this article as the concept, not as a solution. This simple web chat program is intended to work in any browser supporting .</p> <p>Also, you can select multiple chat rooms. Why not extend from there and more from channel to channel. Background</p> <p>Some months ago, I was looking for a complete on-line customer service ASP.NET control to make my life easier, did not find anything interesting, so I built my own. Using the code</p> <p>Replace this class if you are using a database to save the messages: Collapse</p> <pre><code>public class Chat { static protected ArrayList pArray = new ArrayList(); static public void AddMessage(string sDealer, string sUser, string sMsg) { string sAddText = sDealer + "~" + sUser + "~" + sMsg; pArray.Add(sAddText); if ( pArray.Count &gt; 200 ) { pArray.RemoveRange(0,10); } } static public string GetAllMessages(string sDealer) { string sResponse = ""; for (int i=0; i&lt; pArray.Count; i++) { sResponse = sResponse + FormatChat(pArray[i].ToString(), sDealer); } return(sResponse); } static private string FormatChat(string sLine, string sDealer) { int iFirst = sLine.IndexOf("~"); int iLast = sLine.LastIndexOf("~"); string sDeal = sLine.Substring(0, iFirst); if ( sDeal != sDealer) return(""); string sUser = sLine.Substring(iFirst+1, iLast-(iFirst+1)); string sMsg = sLine.Substring(iLast+1); string sRet = "" + sUser + ": " + sMsg + ""; return(sRet); } } </code></pre> <p>The above code reads and writes from the static array like in a database. The code only allows having 200 messages in the array, after that it deletes the top 10 at the time.</p> <p>The Chat page is pretty simple; this is the code behind aspx.cs: Collapse</p> <pre><code>public class ChatWin : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox TB_ToSend; protected System.Web.UI.WebControls.Button BT_Send; private void Page_Load(object sender, System.EventArgs e) { if ( Page.IsPostBack == false ) { if ( Request.Params["Channel"] != null ) Session["ChatChannel"] = Request.Params["Channel"].ToString(); else Session["ChatChannel"] = "1"; } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// &lt;SUMMARY&gt; /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// &lt;/SUMMARY&gt; private void InitializeComponent() { this.BT_Send.Click += new System.EventHandler(this.BT_Send_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion public string GetChatPage() { return("TheChatScreenWin.aspx"); } private void BT_Send_Click(object sender, System.EventArgs e) { string sChannel = ""; string sUser = ""; if ( Request.Params["Channel"] != null ) sChannel = Request.Params["Channel"].ToString(); else sChannel = "1"; if ( Request.Params["User"] != null ) sUser = Request.Params["User"].ToString(); else { Random pRan = new Random(); int iNum = pRan.Next(9); sUser = "Annonymouse" + iNum; } if ( TB_ToSend.Text.Length &gt; 0) { PageModule.Chat.AddMessage(sChannel, sUser, TB_ToSend.Text); TB_ToSend.Text = ""; } } } </code></pre> <p>When the SEND button is clicked, it calls the function AddMessage that adds a row into the end of the static array.</p> <p>The page inside the tag refreshes every 4 seconds without refreshing your actual page.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload