Avatar billede longshanks Nybegynder
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 :)
Avatar billede clausjul Nybegynder
23. juni 2003 - 14:11 #1
Du må lige komme med noget kode.. ;-)
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:13 #2
<%@ 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>&nbsp;</td>
  </tr>
</table>
  <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg">
    <tr>
      <td>&nbsp;</td>
    </tr>
  </table>
    <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg">
      <tr>
        <td align="left" >&nbsp;</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" >&nbsp;</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">&nbsp;</td>
    </tr>
  </table>
    <asp:label ID="passError" runat="server" /></div>
</body>
</page:pageTemplate>
Avatar billede odegaard Nybegynder
23. juni 2003 - 14:14 #3
kan vi også lige få den rigtige fejlmeddelelse?
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:15 #4
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....
Avatar billede clausjul Nybegynder
23. juni 2003 - 14:16 #5
Hver ascx-fil har sin egen code behind - er det også hos dig?
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:17 #6
The type or namespace name 'brugerNavn' could not be found (are you missing a using directive or an assembly reference?)
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:17 #7
min ascx har ingen codebehind fil....
Avatar billede odegaard Nybegynder
23. juni 2003 - 14:19 #8
Forsøger du at kalde komponenter udenfor din usercontrol inde fra usercontrollen?
Avatar billede odegaard Nybegynder
23. juni 2003 - 14:21 #9
Hvorfor for ikke dette istedet:
if(adm.loginKontrol(BrugerNavn.Text,password.Text) > 0)

???
Avatar billede odegaard Nybegynder
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]
Avatar billede longshanks Nybegynder
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
Avatar billede longshanks Nybegynder
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....
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:25 #13
Det er ligesom om controls fra ovennævnte side ikke kan findes efter sammensmeltningen med ascx´en
Avatar billede longshanks Nybegynder
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>&nbsp;</td>
  </tr>
</table>
  <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg">
    <tr>
      <td>&nbsp;</td>
    </tr>
  </table>
    <table width="250" border="0" cellpadding="0" cellspacing="0" background="../Billeder/Menuer/lilleMellem.jpg">
      <tr>
        <td align="left" >&nbsp;</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" >&nbsp;</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">&nbsp;</td>
    </tr>
  </table>
    <asp:label ID="passError" runat="server" /></div>
</body>
</page:pageTemplate>
Avatar billede odegaard Nybegynder
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?
Avatar billede odegaard Nybegynder
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.
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:34 #17
Virker ikke desværre..... :(
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:35 #18
ja på denne side bliver 3 controls pakket ind i usercontrolen brugerNavn, password og passError...
Avatar billede longshanks Nybegynder
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)
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:39 #20
dvs. jeg kan ikke sammenføre controls i controls.....?
Avatar billede longshanks Nybegynder
23. juni 2003 - 14:40 #21
Jeg kan selvfølgelig altid bruge <html> tags istedet men det er jo knap så fedt!!!
Avatar billede longshanks Nybegynder
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>
Avatar billede quaser Nybegynder
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
Avatar billede longshanks Nybegynder
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
Avatar billede odegaard Nybegynder
24. juni 2003 - 15:09 #25
svar
Avatar billede odegaard Nybegynder
24. juni 2003 - 15:09 #26
hov
Avatar billede quaser Nybegynder
26. juni 2003 - 11:17 #27
Et svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester