Här har du: 1000 Tack!Hur att anropa funktion i ascx-control från aspx-sida?
Finns det något sätt att anropa en funktion i en user control (ascx) från den sida (aspx) där den är inkluderad? (Skriver i VB)
Jag har en del sidor med samma datalist som visar information baserat på en droplista i aspx-sidan.
Skulle vilja skapa en ascx-fil istället som innehåller datalisten samt den funktion jag idag har för att fylla datalisten, en sqlsats som har en parameter (den combo som finns i huvudformuläret)
Jag har ingen aning om det går eller hur man i så fall gör, har letat runt men inte hittat nåt bra exempel. Sv: Hur att anropa funktion i ascx-control från aspx-sida?
Usercontrol codebehind:
<code>
<snippet>
public abstract class myWusrCtrl : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
public void SetText(string text)
{
TextBox1.Text = text;
}
</snippet>
</code>
asp.net form:
<code>
<snippet>
<form id="Form1" method="post" runat="server">
<uc1:myWusrCtrl id="MyWusrCtrl1" runat="server"></uc1:myWusrCtrl>
</form>
</snippet>
</code>
asp.net page codebehind:
<code>
<snippet>
public class WebForm1 : System.Web.UI.Page
{
protected usercontrolaccess.myWusrCtrl MyWusrCtrl1;
private void Page_Load(object sender, System.EventArgs e)
{
MyWusrCtrl1.SetText("this is my text");
}
</snippet>
</code>
Märk att jag inte tagit med några som helst using statements, eller formsdesigner kod, utan bara det extra jag implementerat.
Principen är att du själv skapar en protected member som är av samma typ som din usercontrol och heter likadant som instansen du lagt upp på din sida. Du kommer sen åt alla publika medlemmar precis som för vilken kontroll som helst...
// Patrik - On the run -Sv: Hur att anropa funktion i ascx-control från aspx-sida?
Fick till en fungerande översättning till VB.NET också, så nu kan jag jag snurra vidare i prjektet!
/Uffe