23. juni 2003 - 14:07
Der er
25 kommentarer og 2 løsninger
ascx og import af anden fil.
Jeg har lavet en side skabelon for et komplet site (ascx). når jeg importerer andre sider med asp.net controls (textbox, label). kan kompileren ikke finde disse controls...? Håber i kan forstå hvad jeg mener, ellers skriv tilbage :)
Annonceindlæg fra Deloitte
Du må lige komme med noget kode.. ;-)
<%@ Page Culture="da-DK" Language="C#" ContentType="text/html" %> <%@ Register TagPrefix="page" Tagname="pageTemplate" Src="../ASCX/pageTemplate.ascx" %> <%@ Import Namespace="StrikeBowl" %> <script language="C#" runat="server"> void PageLoad(object obj, EventArgs e) { } void submitForm(object obj, EventArgs e) { AdminStyring adm = new AdminStyring(); if(adm.loginKontrol(Request.Form[1],Request.Form[2]) > 0) { Session["BrugerLog"] = "2"; Response.Redirect("cmsAdmin.aspx"); } else { } } </script> <page:pageTemplate runat="server" title="...::: STRIKEBOWLING.DK :::..." cssPath="../"> <body> <div align="center"> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleTop.jpg"> <tr> <td> </td> </tr> </table> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg"> <tr> <td> </td> </tr> </table> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg"> <tr> <td align="left" > </td> <td align="left">Brugernavn</td> <td width="79"> <asp:textbox class="normal" ID="brugerNavn" runat="server" MaxLength="10" style="width: 75px;" /></td> <td width="56"> <div align="center"></div></td> </tr> <tr> <td width="42" height="22" align="left" > </td> <td width="73" align="left"> Password </td> <td><asp:textbox class="normal" ID="password" runat="server" MaxLength="10" style="width: 75px;" TextMode="Password" /></td> <td> <div align="center"></div></td> </tr> </table> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg"> <tr> <td><div align="right"> <p class="indent1"> <asp:button OnClick="submitForm" text="Login" runat="server" style="height: 20px;font-size: 9;" /> </p> </div></td> </tr> </table> <table width="250" height="26" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleBund.jpg"> <tr> <td height="18"> </td> </tr> </table> <asp:label ID="passError" runat="server" /></div> </body> </page:pageTemplate>
kan vi også lige få den rigtige fejlmeddelelse?
void submitForm(object obj, EventArgs e) { AdminStyring adm = new AdminStyring(); if(adm.loginKontrol(Request.Form[1],Request.Form[2]) > 0) { Session["BrugerLog"] = "2"; Response.Redirect("cmsAdmin.aspx"); } else { } } Dette metodekald virker ikke den kan ikke finde de controls der findes på denne side, såsom textbox brugerNavn....
Hver ascx-fil har sin egen code behind - er det også hos dig?
The type or namespace name 'brugerNavn' could not be found (are you missing a using directive or an assembly reference?)
min ascx har ingen codebehind fil....
Forsøger du at kalde komponenter udenfor din usercontrol inde fra usercontrollen?
Hvorfor for ikke dette istedet: if(adm.loginKontrol(BrugerNavn.Text,password.Text) > 0) ???
23. juni 2003 - 14:23
#10
Du må jo huske at Request.Form bede om nogle værdier der postes. I ASP.NET skal du heller udnytte viewstate og hente værdierne direkte fra usercontrollerne. Så sikrer du dig også imod at fx. [1] skifter til [2]
23. juni 2003 - 14:23
#11
ascx´en er som sagt skabelonen til hele sitet, dvs. menuer header, footer osv. mens siden jeg gav før, fungerer som selve indholdet på siden. hvis du forstår. inholdet fra ovenfor bliver sat i en placeholder i ascx´en
23. juni 2003 - 14:24
#12
sorry odgegård, det med request.form var et forsøg, det der ikke virkede var faktisk det du skrev med BrugerNavnText....
23. juni 2003 - 14:25
#13
Det er ligesom om controls fra ovennævnte side ikke kan findes efter sammensmeltningen med ascx´en
23. juni 2003 - 14:25
#14
den rigtige kode der giver fejlen: <%@ Page Culture="da-DK" Language="C#" ContentType="text/html" %> <%@ Register TagPrefix="page" Tagname="pageTemplate" Src="../ASCX/pageTemplate.ascx" %> <%@ Import Namespace="StrikeBowl" %> <script language="C#" runat="server"> void PageLoad(object obj, EventArgs e) { } void submitForm(object obj, EventArgs e) { AdminStyring adm = new AdminStyring(); if(adm.loginKontrol(brugerNavn.Text,password.Text) > 0) { Session["BrugerLog"] = "2"; Response.Redirect("cmsAdmin.aspx"); } else { } } </script> <page:pageTemplate runat="server" title="...::: STRIKEBOWLING.DK :::..." cssPath="../"> <body> <div align="center"> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleTop.jpg"> <tr> <td> </td> </tr> </table> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg"> <tr> <td> </td> </tr> </table> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg"> <tr> <td align="left" > </td> <td align="left">Brugernavn</td> <td width="79"> <asp:textbox class="normal" ID="brugerNavn" runat="server" MaxLength="10" style="width: 75px;" /></td> <td width="56"> <div align="center"></div></td> </tr> <tr> <td width="42" height="22" align="left" > </td> <td width="73" align="left"> Password </td> <td><asp:textbox class="normal" ID="password" runat="server" MaxLength="10" style="width: 75px;" TextMode="Password" /></td> <td> <div align="center"></div></td> </tr> </table> <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg"> <tr> <td><div align="right"> <p class="indent1"> <asp:button OnClick="submitForm" text="Login" runat="server" style="height: 20px;font-size: 9;" /> </p> </div></td> </tr> </table> <table width="250" height="26" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleBund.jpg"> <tr> <td height="18"> </td> </tr> </table> <asp:label ID="passError" runat="server" /></div> </body> </page:pageTemplate>
23. juni 2003 - 14:32
#15
Kan du have noget at gøre med at du kalder dit prefix for page? Den klasse findes jo i forvejen, så måske bliver den forvirret over det?
23. juni 2003 - 14:33
#16
ah nu kan jeg se det. Havde slet ikke bemærket at brugerNavn var pakket ind i din usercontrol. Den er selvfølgelig gemt deri, præcis som hvis man fx. skulle have en tekstboks i et datagrid.
23. juni 2003 - 14:34
#17
Virker ikke desværre..... :(
23. juni 2003 - 14:35
#18
ja på denne side bliver 3 controls pakket ind i usercontrolen brugerNavn, password og passError...
23. juni 2003 - 14:36
#19
efter denne sammensmeltning kan scriptet submitForm ikke finde de 3 controls, dvs. jeg kan ikke lave flg. sammenligning if(adm.loginKontrol(brugerNavn.Text,password.Text) > 0)
23. juni 2003 - 14:39
#20
dvs. jeg kan ikke sammenføre controls i controls.....?
23. juni 2003 - 14:40
#21
Jeg kan selvfølgelig altid bruge <html> tags istedet men det er jo knap så fedt!!!
23. juni 2003 - 14:41
#22
pageTemplate.ascx <script language="C#" runat="server"> private ITemplate main; private string title; public string cssPath = ""; protected override void CreateChildControls() { if( null != Body ) Body.InstantiateIn( bodycontainer ); } public ITemplate Body { get { return this.main; } set { this.main = value; } } public string Title { get { return this.title; } set { this.title = value; } } </script> <html> <head> <title><%=this.title%></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="<%=cssPath%>CSS/standard.css" rel="stylesheet" type="text/css"> </head> <body> <form runat="server"> <asp:placeholder id="bodycontainer" runat="server" /> </form> </body> </html>
24. juni 2003 - 13:06
#23
Jeg kan anbefale MasterPages fremgangsmåden.
http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=385 Virker i stil med det du har fået lavet, men kan så udbygges og er ret dejlig at arbejde.
I ens masterpage (din pagetemplate) defineres forskellige regioner, som du så kan udfylde i dine alm sider (aspx).
Jeg har selv udbygget min egen implementering sådan at man kan vælge at at ligge ens content ind før eller efter det der er i regionen i masterpagen, eller man kan overskrive det.
Du kan finde generel informationer om pagetemplating i denne tråd:
http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=4692
24. juni 2003 - 14:59
#24
tak for links quaser, det er lige hvad jeg manglede.. TIl at guide mig i den rigtige retning. du får 100 points. 50 til Odegaard for at få mig til at indse fejlen i at prøve at smelte controls med controls. Takker.... giv lige et svar begge 2 Allan
24. juni 2003 - 15:09
#25
svar
24. juni 2003 - 15:09
#26
hov
26. juni 2003 - 11:17
#27
Et svar :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.