Laden...

Forenbeiträge von Knollo Ingesamt 20 Beiträge

31.01.2007 - 17:44 Uhr

Ich möchte einen Chat erstellen und hierfür auf AJAX zurückgreifen. Hierzu verwende ich ein Label, zum anzeigen des Textes, und eine Textbox, in der der Text über Return abgesendet werden soll. Zum updaten des ganzen wollte ich zwei UpdatePanel benutzen.

UpdatePanel_Chat: des Label soll durch einen Timer nach einer bestimmten Zeit, und durch ein OnTextChanged-Event der Textbox aktualisiert werden.

UpdatePanel_Chat_Textfield: soll nach dem abschicken eines Eintrag, das Textfeld reseten.

Nun habe ich das Problem das das Panel des textfeld auch entsprechend des Timers nach einer bestimmten Zeit upgedatet wird und ich somit den Cursor verliere.

Kann mir einer erklären warum sich der Timer auf beide Panel auswirkt und wie ich das beheben kann?

Vielen Dank im vorraus

Knollo


<asp:ScriptManager ID="ScriptManager1" runat="server"/>

<asp:UpdatePanel ID="UpdatePanel_Chat" runat="server">

      <ContentTemplate>
            <asp:Label CssClass="label" ID="Label_Chat" runat="server" Text="Label"></asp:Label> 
            <asp:Timer ID="Timer_Chat" runat="server" Interval="6000"></asp:Timer>   
       </ContentTemplate>
                        
       <Triggers>
             <asp:AsyncPostBackTrigger ControlID="Timer_Chat" />
             <asp:AsyncPostBackTrigger ControlID="Button_Chat" />
       </Triggers>  
                  
</asp:UpdatePanel>
              
<asp:UpdatePanel ID="UpdatePanel_Chat_Textfield" runat="server">

       <ContentTemplate>                                    
             <asp:TextBox CssClass="textbox" ID="TextBox_Chat"  OnTextChanged="Button_Chat_Click" runat="server" />      
       </ContentTemplate>
                    
       <Triggers>
              <asp:AsyncPostBackTrigger ControlID="TextBox_Chat" />
       </Triggers>

</asp:UpdatePanel>
14.09.2006 - 12:42 Uhr

Original von VizOne
Hallo Knollo,

Das Problem ist, dass die Page-Objekte bei jedem Seitenaufruf neu erstellt werden, in deinem Fall damit eben auch das Objekt in der Membervariable.

Wenn du Objekte über mehrere Seitenaufrufe hinweg erhalten willst, kannst du diese im Sessionstate hinterlegen:

  
  
Session["EinBeliebigerName"]= Objekt;  
// respektive  
Objekt = (Objekt)Session["EinBeliebigerName"];  
  

Am besten, du suchst mal nach Sessionstate o.ä. Die Verantwortliche Klasse ist HttpSessionState, das Objekt ist zu erreichen mittels Page.Session.

Grüße,
Andre

Danke Andre , eigentlich hätte ich da selber drauf kommen müssen

13.09.2006 - 19:24 Uhr

Hallo ich habe ein Problem mit meinen Klassen.

Ich habe mir mehrere Klassen geschrieben von denen ich in ASP gerne ein Objekt erstellen möchte. das ich in mehreren Methoden verwenden kann.

Wenn ich das objekt aber in zwei Methoden aufrufe, so ruft c# immer ein neues objekt auf, so das ich die Eigenschaften die ich vorher zugewiesen haben nicht verwenden kann.

Beispiel:

public partial class Test : System.Web.UI.Page
{

protected TestKlasse Objekt = new Testklasse();

puplic void Methode1()
{
Objekt.Nummer = 1;
}

puplic void Methode2()
{
if (Objekt.Nummer = 1) "es funktioniert";
}

}

was mach ich falsch. Wer kann helfen

Danke schonmal im vorraus

Knollo

24.07.2006 - 18:24 Uhr

Ich glaube der neo liest die Daten seperat durch eine Funktion aus der Datenbank aus und schreibt sie dann in die Liste.

13.07.2006 - 17:17 Uhr

Habe zur Zeit nach dem Hinweiss mit JavaScript folgende Variante gefunden:


<script runat="server">    

protected void Page_Load(object sender, EventArgs e)  
{   
    string script = string.Format("if(window.event.keyCode == 13) {0}", this.GetPostBackEventReference(bt_search));
    tb_search.Attributes.Add("onkeydown", script);
}    

void bt_click(object sender, EventArgs e)  
{   
    lb_msg.Text = string.Format("Sie haben eingegeben: '{0}'", tb_search.Text);  
    tb_search.Text = "";
}    

</script>    

<form runat="server">     

<ASP:TextBox id="tb_search" runat="server"/>     
<ASP:LinkButton id="bt_search" runat="server" Text="Suchen..." OnClick="bt_click"/>
<ASP:Label id="lb_msg" runat="server"/>

</form>

das Problem ist aber, das zwar in diesem Beispiel nach einem KeyEvent der TextboxInhalt gelöscht wird aber nicht in meiner Quelltext.

Wer kann helfen?

13.07.2006 - 16:33 Uhr

Hallo ich möchte den Inhalt einer Textbox durch ein KeyEvent abschicken, anstatt durch das aktivieren eines Buttons. Hab leider nichts im Web gefunden wie man soetwas machen kann.

Meine Frage daher:

Ist es möglich KeyEvents in ASP unter C# zu verwenden und wenn ja wie sieht eine Umsetzung aus?

Vielen Dank schonmal

Stefan

19.06.2006 - 14:31 Uhr

Hey,

ich möchte gern den Quelltext meiner Internetseite auf Schwachstellen überprüfen, dazu sollen alle Funktionen überprüft werden, wieviel Zeit sie zur ausfürhung brauchen. Normalerweise würde ich ja einen Profiler nehmen de den C# Quelltext durchgeht, aber ich finde keinen für VWD 2005. Wer kann mir weiterhelfen?

06.06.2006 - 14:59 Uhr

Hey hier wahrscheinlich eine sehr einfache Frage, die es bestimmt nicht wert ist zu schreiben.

Ich möchte eine Textdatei anlegen und in dieser auch Tabs und andere Formatierungsmöglichkeiten abspeichern. Zur Zeit verwende ich folgenden Quelltext:

 

protected void Button1_Click(object sender, EventArgs e)      
{          
         StreamWriter pTextWriter = File.CreateText(FilePath);            
         string pTextString = "Das ist eine Testdatei";          
         pTextWriter.WriteLine(pTextString);
         pTextWriter.Close();  
 }


Wie kann ich hierbei festlegen das er Zeilen Umbrüche oder Tabs setzen soll?

Ich danke wie immer schon mal im vorraus für eine Antwort

Viele Grüße

Knollo

29.05.2006 - 16:27 Uhr

Original von sbertl000
Setz doch nen Haltepunkt und schau, welchen Wert pTextbox hat.

sbertl

Hab ich gemacht und es kommt wirklich immer "null" herraus

29.05.2006 - 13:16 Uhr

Original von Kai.
pTextbox ist immer Null?

Sorry aber ich verstehe die Frage nicht

25.05.2006 - 18:09 Uhr

Hallo ich erstelle eine dynamische Anzahl von Textfeldern. Nachdem der Benutzer diese Felder ausgefüllt hat sollen diese nach dem bestättigen mit dem OkButton ausgelesen werden. Aber ich komme nicht an den Text wer kann helfen.


//Erstellen der Textboxen
for (int Index = 1; Index <=TextboxAnz; Index++)          
{              
    TextBox pTextbox = new TextBox();              
    pTextbox.ID = "TextBox" + Index;              
    pTextbox.Text = "Bitte Text eingeben"; 

    Placeholder_Textbox.Add(pTextbox); 
}

//Abfrage nach ButtonEvent
string[] pResultString = new string[TextboxAnz];

for (int Index = 1; Index <= TextboxAnz; Index++)
{
    string pTextBoxID = "TextBox" + Index;
    TextBox pTextbox = (TextBox)Placeholder_Textbox..FindControl(pTextBoxID);

    if (pTextbox != null)
    {
        pResultString[Index-1] = pTextbox.Text;
    }
}


24.05.2006 - 14:31 Uhr

Danke hab ich gemacht, hääte ich eigentlich auch selber drauf kommen können 😉

Vielen Dank nochmal

24.05.2006 - 14:09 Uhr

kann man dabei auch mit den CommandName arbeiten

24.05.2006 - 13:34 Uhr

Super, danke nur noch eine Frage, wenn ich über diesen Weg Buttons erstelle, wie kann ich diesen Events zuweisen? Danke nochmals

24.05.2006 - 13:06 Uhr

Original von Kai.
Du kannst mit Hilfe des Placeholders dynamisch Controls hinzufügen.

<asp:Placeholder id="plhNewControls" runat="Server"/>  
  
for(int i = 0; i < 10; i++)  
{  
   TextBox txt = new TextBox();  
   txt.Text = "Bla";  
   txt.ID = "txt" + i;  
  
  plhNewControls.Controls.Add(txt);  
}  
  

Danke der Quellcode funktioniert aber wie kann ich nun auf die textboxen zugreifen und den Inhalt verändern?

24.05.2006 - 12:36 Uhr

Hallo,

Ich versuche in .Net Button und Textfelder dynamisch über eine for- Schleife im Script zu erstellen. Dies gelingt mir auch indem ich HTML-Elemente in einem Label ausgebe. Aber ich schaffe es dann nicht über das Script auf diese Elemente zu zu greifen. Kann mir jemand einen Tip geben was ich falsch mache. Oder wie man dieses Prinzip in .Net über C# umsetzen kann.

Vielen Dank schon mal

Knollo

17.05.2006 - 19:31 Uhr

Danke dir dann muss ich mir gleich mal nee andere Lösung einfallen lassen

17.05.2006 - 19:00 Uhr

Original von FZelle
Schreiben kannst Du garnicht direkt.
Wäre ja noch schöner, wen eine ASP.NET Anwendung ( Internetseite ) einfach
so auf meiner Platte rummüllen könnte.

Die Resultate must Du als download anbieten, die der benutzer dann speichern muss.

Funktioniert auch nicht wenn der User über uoloadFile eine Datei auswählen würde in die die Daten gespeichert werden sollen?

17.05.2006 - 13:00 Uhr

Danke für die ganzen Antworten, aber kann mir jemand einen BeispielCode aufzeigen, wie ich es besser machen kann.

16.05.2006 - 22:37 Uhr

Hallo,

Ich möchte eine Textdatei vom Client über eine ASP-Seite öffnen und den String auslesen.

Habe zur Zeit diese Möglichkeit gefunden kann mir aber nicht vorstellen, das dies die einzige möglichkeit ist, benötige nämlich auch eine Lösung für das speichern einer Textdatei beim Client

Wer kann weiterhelfen. Viele Grüße Knollo

            
const int BUFFER_SIZE = 255;              
int nBytesRead = 0;              
Byte[] Buffer = new Byte[BUFFER_SIZE];              
StringBuilder strUploadedContent = new StringBuilder("");
                
Stream theStream = FileUpload1.PostedFile.InputStream;              
nBytesRead = theStream.Read(Buffer, 0, BUFFER_SIZE);                
while (0 != nBytesRead)              
{                  
strUploadedContent.Append(Encoding.ASCII.GetString(Buffer, 0, nBytesRead));      
nBytesRead = theStream.Read(Buffer, 0, BUFFER_SIZE);              
}                

string pTextString = strUploadedContent.ToString();              
char[] pSeparators = new char[] {';'};              
string[] pTextArray = pTextString.Split(pSeparators);                

for (int Index = 0; Index < pTextArray.Length; Index++)              
{                  
LabelOutput.Text += "<br/>";                 
LabelOutput.Text += pTextArray[Index];              
}