Hur gör jag för att komma åt exempelvis en TextBox (på en aspx-sida) från en klassfil som jag lägger i App_Code. Du kan väl skicka med kontrollen som en referens till klassen istället. Det är väl vanligare att man anropar funktions -och databasklasser från formulären istället för tvärtom, som jag ser det. Jo, tack för svaret. Enkelt exempel där man får skriva in lite text i en textbox. När man klickar på en knapp så blir texten i versaler.Klasser i App_Code
Har MinSida.aspx:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace MittNamespace
{
public partial class MinKlass : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// Skriv värde i TextBox
TextBox.Text = "Hej hej";
}
}
}
}
På aspx-sidan finna alltså en textbox som heter TextBox.
I mitt App_Code lägger jag till en ny klassfil - Class1.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for Class1
/// </summary>
namespace MittNamespace
{
public class Class1
{
public Class1()
{
// Här vill jag kunna komma åt TextBox
// som finns på MinSida.aspx
// Exemepl
if (TextBox.Length > 0)
{
GoDoSomething();
}
}
}
}
Hur får jag åtkomst till min aspx-sidas alla kontroller etc. ???
Sv: Klasser i App_Code
Sv:Klasser i App_Code
Hade misförstått tanken bakom App_Code en aning, att klasserna hamnade i eget assembly med mera. Ska läsa på lite mer. Var nog kvar i 1.1 tänket...
Hur skickar man med kontrollen som en referens och hur kan man göra om man har flera kontroller som man vill skicka med?Sv: Klasser i App_Code
// Skapa en klass med en metod som gör texten till versaler
public class Business
{
public static void perform(ref TextBox textbox)
{
textbox.Text = textbox.Text.ToUpper();
}
}
// I sidan med knapp och textbox skriver du följande i knappens händelsehanterare:
protected void Button1_Click(object sender, EventArgs e)
{
Business.perform(ref TextBox1);
}
Vill du ha flera kontroller till metoden så är det bara att ha fler argument i metodsignaturen precis som vanligt.