мой собственный маленький чат не работает - PullRequest
0 голосов
/ 05 марта 2012

Я сделал свой собственный маленький чат. Это в основном jQuery, который перезагружает div, вставляя в него другой сайт .aspx. Это мой сайт .aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/holdOversigt.Master" AutoEventWireup="true"
    CodeBehind="chat.aspx.cs" Inherits="HB.chat1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var reloadtime = 3000;
        function load() {
            $.ajax({
                url: "chat-Content.aspx",
                context: document.body,
                success: function (data) {
                    document.getElementById('chat').innerHTML = data;
                    setTimeout('load()', reloadtime);
                }
            });
        }

        window.onload = function () {
            setTimeout('load()', reloadtime);
        }
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h1 style="text-align: center; color: #005da3; font-weight: bold">
        <strong>Chat rum</strong></h1>
    <div id="chat" class="fisk" style="width: 500px; height: 500px">
    </div>
    <br />
    <asp:TextBox ID="txbMessege" runat="server"></asp:TextBox>
    <asp:Button ID="btnSend" runat="server" Text="Send" OnClick="btnSend_Click" />
</asp:Content>

Это сайт, который он вставляет в div:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="chat-Content.aspx.cs" Inherits="HB.chat_Content" %>

    <form id="form1" runat="server">
    <div>
        <asp:ListBox ID="lbChat" runat="server" Rows="10" Width="400px"></asp:ListBox>
    </div>
    </form>

Это код сайта:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HB
{
    public partial class chat_Content : System.Web.UI.Page
    {
        grjenie31Entities gr;

        protected void Page_Load(object sender, EventArgs e)
        {
            gr = new grjenie31Entities();

            var query = from es in gr.chats
                        where es.id > ((from esh in gr.chats select esh.id).Max() - 15)
                        orderby es.timestamps descending
                        select es;

            List<chat> list = new List<chat>();
            foreach (chat chat in query)
            {
                list.Add(chat);
            }

            for (int i = 0; i < list.Count; i++)
            {
                lbChat.Items.Add("[" + list[i].timestamps + "] " + list[i].personID.ToString() + ": " + list[i].besked);
            }
            this.lbChat.SelectedIndex = this.lbChat.Items.Count - 1;
        }
    }
}

Я могу добавлять новые строки до тех пор, пока он не загрузится ... но когда список отображается на сайте, он выдает мне следующую ошибку:

Информация о состоянии недопустима для этой страницы и может быть повреждена.

Кто-нибудь знает, что я могу с этим поделать?

1 Ответ

0 голосов
/ 06 марта 2012

Кажется, вы вставили весь контент страницы, даже ViewState скрытые теги. Я думаю, что лучше очистить ваш ответ и написать HTML-теги, которые вам нужны в чате.

 Response.Clear();
 Response.ContentType = "text/plain";
 Response.Write(GetChatResult());
 Response.End();
...