Engine^Medlem sedan dec. 20003 887 inlägg Hur kan jag använda codebehind i .ascx? Jag har suttit och testat en del nu, men jag kommer endast fram till felmeddelandet:
Parser Error Message: 'cClass' is not a valid base class because it does not extend class 'System.Web.UI.UserControl'.
och jag förstår inte riktigt vad det menar förutom att inte riktigt fungerar som jag fått för mig
<%@ Control Language="C#" Src="/usercontrol.ascx.cs" Inherits="cClass" %>
Jag hade ju tänkt att man lite smidigt skulle kunna busa med kontrollen, när den har lästs in, med hjälp av
[blue]// usercontrol.ascx.cs[/blue]
using System;
using System.Web.UI;
public class cClass : Page
{
public void Page_Load(object objSrc, EventArgs e)
{
this.[i]usercontrol.table.td.property = somevalue[/i] [blue]// <-- eller något[/blue]
}
}
Page_Load kanske inte är rätt alternativ, men det förklarar nog lite hur jag tänker ;)
Nåväl, går det att använda codebehind på det här sättet eller är det att feltolka uppdelningen av lager?
GladhMedlem sedan maj 20012 812 inlägg precis som det står i ditt felmeddelande så skall du inte ärva från Page utan från System.web.Ui.UserControl
namespace WebApplication1
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for WebUserControl1.
/// </summary>
public abstract class WebUserControl1 : System.Web.UI.UserControl
{
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
- Magnus
Engine^Medlem sedan dec. 20003 887 inlägg Man tackar. Jag har för mig att jag testade något liknande inatt, men jag var nog för trött för att begripa vad jag gjorde. :)
Engine^Medlem sedan dec. 20003 887 inlägg Följdfråga: Varför lägger Visual till abstract i klassen?
Jag läste lite på MSDN om Abstract classes och kan väl inte påstå att jag förstog mer än ...used to indicate that a class is incomplete and that it is intended to be used only as a base class... Det kan väl vara logiskt i det här fallet, men det fungerar ju utan problem även om man skippar abstract.