Laden...

Select mit DB Werten füllen (ohne PHP)

Erstellt von Powerslave vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.423 Views
P
Powerslave Themenstarter:in
554 Beiträge seit 2005
vor 18 Jahren
Select mit DB Werten füllen (ohne PHP)

Hallo,

ich hab mal n bissl mit ASP rumgebastelt,

jetz habe ich ein paar asp-elemente, die ja bei jedem page_load neu geladen werden. d.h. wenn ich auf einen button klicke, der nur ein element verändern soll, wird die ganze Seite neu geladen, was natürlich nicht schön aussieht. (hat hierzu schonmal jmd ne Idee ob man das irgendwie anders machen kann?)

drum hab ich mich gefragt ob es geht, das wenn ich ein select-element statt eine asp-dropdownliste nehme, ich irgendwie die select Einträge mit Datenbankwerten (kein php, c#) füllen kann?

danke im voraus!

Achtung! - Hinter dir ist ein dreiköpfiger Affe!

379 Beiträge seit 2004
vor 18 Jahren

Hallo Powerslave

Probier es mal mit IsPostBack in der Forumsuche 😉

Wieso willst du denn ein select-Element, du kannst doch eine DropDownList bequem mit Daten aus einer Datenbank füllen: siehe Ado.Net

P
Powerslave Themenstarter:in
554 Beiträge seit 2005
vor 18 Jahren

Morgen,

ich lese ständig dieses IsPostBack und habe es auch schon in mein Page_load eingebaut... trotzdem werden immernoch die ganzen asp:elemente neu geladen wenn ich auf einen button klicke....

wenn ich das irgendwie hinbekomme brauch ich ja kein html select.

mein test code hier mal:

codebehind:

	public class WebForm1 : System.Web.UI.Page
	{
    protected System.Web.UI.WebControls.Button Button1;
    protected WCPierce.Web.UI.WebControls.GMap gMap;
    protected System.Web.UI.WebControls.TextBox TextBox1;
  
		private void Page_Load(object sender, System.EventArgs e)
		{      
		 // Hier Benutzercode zur Seiteninitialisierung einfügen
		}

		#region Vom Web Form-Designer generierter Code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: Dieser Aufruf ist für den ASP.NET Web Form-Designer erforderlich.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung. 
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		private void InitializeComponent()
		{    
      this.Button1.Click += new System.EventHandler(this.Button1_Click);
      this.Load += new System.EventHandler(this.Page_Load);

    }
		#endregion

    private void Button1_Click(object sender, System.EventArgs e)
    {
     TextBox1.Text = "34555";
    }
	}

aspx:

  <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
      <wcp:GMap runat="server" id="gMap" Width="500px" Height="300px" />
      <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 464px; POSITION: absolute; TOP: 400px" runat="server"
        Text="Button" Width="104px"></asp:Button>
      <asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 536px; POSITION: absolute; TOP: 360px"
        runat="server"></asp:TextBox>
    </form>
  </body>

ums schöner das er wirklich alles neu läd hab ich mal die google maps .net control genommen.

wie würde ich das jetzt machen, wenn ich will das ich bei buttonklick nur das textfeld OHNE NEULADEN DER SEITE befüllen möchte?

grüße

Achtung! - Hinter dir ist ein dreiköpfiger Affe!

N
61 Beiträge seit 2005
vor 18 Jahren

Das deine Server Controls neugeladen werden lässt sich nicht vermeiden. Du kannst aber sagen, dass er deine DropDownList nur beim ersten Laden der Seite füllen soll und zwar prüfst du

if(IsPostBack == false) drpBox.Items.Add("Test";);

Jetzt werden deine Werte nur beim erstenmal Laden in die Box geschrieben.

P
Powerslave Themenstarter:in
554 Beiträge seit 2005
vor 18 Jahren

hallo neumann,

danke für die antwort, das weiß ich nun aber schon selbst. ist ja eigentl logisch. 😉

kann sie nicht beim ersten laden initialisieren, da ja ständig die Werte geupdatet werden. Trotzdem thx für tipp!

Achtung! - Hinter dir ist ein dreiköpfiger Affe!