2017-01-30 3 views
-1

Ich habe eine Web-Seite mit dem Namen Default.aspx und ein Textfeld namens textBox1Wie auf Web-Seite TextBox von einer anderen Klasse zugreifen?

Im Default.aspx.cs kann ich den Text, indem Sie ein:

TextBox1.text = "change text"; 

Jetzt habe ich eine andere Klasse erstellt. Wie rufe ich textBox1 in dieser Klasse auf? Ich möchte den Text für textBox1 in dieser Klasse ändern.

Bisher habe ich versucht, dass es funktioniert gut in Mymethod, aber es funktioniert nicht in Myclass.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Text; 
using System.Net.Sockets; 
using System.Net; 
using System.Drawing; 
using System.Threading; 

namespace WebApplication1 
{ 
public partial class Default : System.Web.UI.Page 
{ 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void submitEventMethod2(object sender, EventArgs e) 
    { 
     this.Mymethod(); 
    } 
    public void mymethod1() 
    { 
     TextBox1.Text = "some text"; 

    } 
    class Myclass 
    { 
    public void mymethod2() 
    { 
     TextBox1.Text = "some text"; 
    } 
    } 
} 
} 

Antwort

1
I have a web page called Default.aspx and a textbox called textBox1 

In the Default.aspx.cs, I can set the text by typing: 

TextBox1.text = "change text"; 
Now I have created another class. How do I call textBox1 in this class? so I want to change the text for textBox1 in this class. 

So far i tried like this it is working fine in Mymethod but it is not working in Myclass. 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Text; 
using System.Net.Sockets; 
using System.Net; 
using System.Drawing; 
using System.Threading; 

namespace WebApplication1 
{ 
public partial class Default : System.Web.UI.Page 
{ 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void submitEventMethod2(object sender, EventArgs e) 
    { 
     this.Mymethod(); 
    } 
    public void mymethod1() 
    { 
     Myclass myClass=new Myclass(); 
     myClass.mymethod2(TextBox1); 

    } 
    class Myclass 
    { 
    public void mymethod2(TextBox textBox) 
    { 
     textBox.Text = "some text"; 
    } 
    } 
} 
} 
+0

hey ich stehe noch immer Fehler 'this.textBox1 = "some text";' Fehler ist 'Name textBox1 existiert nicht in der aktuellen context'. –

+0

Es sollte jetzt kompilieren, ich sehe keinen Fehler im Code –

+0

Sorry, ich habe meine Frage falsch.Ich habe gerade bearbeitet.Klicken Sie können überprüfen.thank Sie –

0

können Sie greifen nicht TextBoxText wie dies in der Klasse. Sie können es so zugreifen, wie gut:

class Myclass 
{ 
    private string _myText; 
    public string mystring 
    { 
     get 
     { 
     return _myText; 
     } 
     set 
     { 
     _myText = value; 
     } 
    } 
} 
public void Mymethod() 
{ 
    Myclass obj = new Myclass(); 
    obj.mystring = TextBox1.Text.Trim(); 
    //do what else you want 
} 
+0

Sorry, ich habe meine Frage unrichtig.I jetzt bearbeitet.Klicken Sie können überprüfen.thank Sie –

1

Verwenden Session[] dafür.

z.B.

TextBox1.Text="abc"; 
Session["TextBox_Text"]=TextBox1.Text; 

und in anderer Klasse verwendet diese Session [] Textes in einer anderen TextBox Zuweisung durch Verwendung

TextBox2.Text=Session["TextBox_Text"].ToString(); 

Hoffnung dieser Ihnen

danken Ihnen helfen.

+0

es gibt mir einen Fehler bei dieser Aussage "Session (" TextBox_Text ") = TextBox1.Text;' –

+0

Ooppss, ich bin wirklich Entschuldigung für meine Syntax von Session seine Session [] nicht Session(). Ich entschuldige mich dafür. –

0

ein andere Klasse erstellen

public class DataAccess 
{ 
private string _value; 

public string value 
    { 
     get 
     { 
      return this._value; 
     } 
     set 
     { 
      this._value = value.Trim(); 
     } 
    } 

} 

diesen Code in Ihrer aspx.cs Seite verwenden und Objekt Data Access Klasse erstellen. Sie können also auf den Textfeldwert zugreifen.

public partial class Default : System.Web.UI.Page 
    { 
     DataAccess objDaAccess = new DataAccess(); 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void submitEventMethod2(object sender, EventArgs e) 
     { 
      this.Mymethod(); 
     } 
     public void Mymethod() 
     { 
      TextBox1.Text = "some text"; 
      objDaAccess.value=TextBox1.Text; 
     } 
    class Myclass 
    { 
     TextBox1.Text = objDaAccess.value; 
    } 
} 
+0

danke für die Antwort, aber ich versuche auf TextBox1 von mymethod2 zugreifen und mymethod2 ist innerhalb von Myclass definiert Ich habe versucht, Ihre Lösung, aber es gibt mir Fehler, wenn ich 'TextBox1.Text = objDaAccess.value;' in mymethod2 –

+0

Sitzung verwenden Session [" memberid "] = TextBox1.Text und Zugriff in Ihrer Klasse wie string value = Session [" memberid "]. tostring(); – Naveen

Verwandte Themen