Avatar billede david89 Nybegynder
03. marts 2006 - 15:20 Der er 23 kommentarer og
1 løsning

Problemer med prøveeksempel.

Hej eksperter,

Jeg oplever en række problemer med prøveeksemplet i denne artikel:
http://activedeveloper.dk/artikler/default.asp?articleid=378

Jeg får følgende fejl:
http://www.davidplum.dk/temp/Default.aspx

Jeg får sat min handlingskode korrekt ind i min default.aspx.vb, og min default.aspx ser umiddelbart også korrekt ud, set i mine øjne. Så kan nogle hjælpe mig, ville jeg blive rigtig glad :)


Default.aspx.vb
________________________________
Partial Class davidplum_dk_temp_Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = System.DateTime.Now.ToString("F")
    End Sub

    Sub Beregn_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' Indhold i kontroller skal være korrekt
        If Page.IsValid Then

            ' Konverter til DateTime
            Dim d1 As DateTime = Convert.ToDateTime(dato1.Text)
            Dim d2 As DateTime = Convert.ToDateTime(dato2.Text)

            ' Beregn
            Dim antal As Double = d2.Subtract(d1).TotalDays
            ' Vis Resultat
            Resultat.Text = String.Format("Der er {0} dage mellem {1:D} og {2:D}", antal, d1, d2)
        End If
    End Sub
End Class



Default.aspx
________________________________
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="davidplum_dk_temp_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET - Learning!</title>
<script language="javascript" type="text/javascript">

</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     
      <H3>Lektion 2 Kom godt igang</h3>

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" ToolTip="Aktiver handling!" /></div>
    </form>
      <br><hr />


<h3>Lektion 3 Et brugbart eksempel</h3>
<input id="dato1" type="text" />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Feltet skal udfyldes" ControlToValidate="dato1" Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Forkert dato" Type="Date" MaximumValue="1-1- 1900" Display="Dynamic" MinimumValue="1-1- 2900" ControlToValidate="dato1"></asp:RangeValidator>
    <br>
    <input id="dato2" type="text" />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Feltet skal udfyldes" ControlToValidate="dato2" Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator2" runat="server" ErrorMessage="Forkert dato" Type="Date" MaximumValue="1-1- 1900" Display="Dynamic" MinimumValue="1-1- 2900" ControlToValidate="dato2"></asp:RangeValidator>
    <br>
    <input id="Beregn" type="button" value="Beregn" onclick="return Beregn_onclick()" />
    <br>
    <label id="Resultat"></label>
</body>
</html>
Avatar billede david89 Nybegynder
03. marts 2006 - 15:25 #1
Fandt lige ud af at jeg manglede nogle 'form' tags i min default.aspx. Det er rettet, men dette var altså ikke problemet.
Avatar billede Slettet bruger
03. marts 2006 - 15:26 #2
Dine input felter dato1 og dato2 skal have runat="server" på.
Avatar billede david89 Nybegynder
03. marts 2006 - 15:31 #3
Det er gjordt nu. Men der er stadig fejl. Jeg kan se et mit ene tekstfelt fra "Lektion 2 Kom godt igang" er en "<asp:TextBox</asp:TextBox>" hvor der i min "Lektion 3 Et brugbart eksempel" bare er et inputfelt.

Hvorfor er der forskel. Mener da at jeg har trukket den samme kontroller ud af toolboxen. Eller hvad?
Avatar billede Slettet bruger
03. marts 2006 - 15:37 #4
Kan du ikke prove i design view at gøre følgende:

1) Slette dato1 og dato2.
2) Indsætte asp:textbox felter (træk fra tool box) og kalde dem henholdsvis dato1 og dato2.
3) Checke om de i din code-behind fil er defineret.
Avatar billede david89 Nybegynder
03. marts 2006 - 15:43 #5
Okay, jeg fik lige rettet et par ting. Bl.a. det med asp:textbox feltet. Og måtte der også kun udelukkende være et sæt formtags per side. Hvorfor må det egentlig kun det?

Det eneste der er bøvl med nu er min default.aspx.vb
http://www.davidplum.dk/temp/Default.aspx
Avatar billede Slettet bruger
03. marts 2006 - 15:48 #6
Den der <label id="Resultat">.. Skal også have en run at server eller være en asp:literal før dit eksempel kommer til at fungerer.

Der kan kun været et form-element på siderne fordi ASP.NET bruger repost stil at holde tilstanded på kontrollerne og derfor skal framework være sikker på at dens form bliver submittet.
Avatar billede david89 Nybegynder
03. marts 2006 - 15:53 #7
Nu kan jeg hente siden, men der sker intet når jeg trykker på 'beregn': http://www.davidplum.dk/temp/Default.aspx
---
<h3>Lektion 3 Et brugbart eksempel</h3>


<asp:TextBox ID="dato1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Feltet skal udfyldes" ControlToValidate="dato1" Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Forkert dato" Type="Date" MaximumValue="1-1-2900" Display="Dynamic" MinimumValue="1-1-1900" ControlToValidate="dato1"></asp:RangeValidator>
   
    <br>
<asp:TextBox ID="dato2" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Feltet skal udfyldes" ControlToValidate="dato2" Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator2" runat="server" ErrorMessage="Forkert dato" Type="Date" MaximumValue="1-1-2900" Display="Dynamic" MinimumValue="1-1-1900" ControlToValidate="dato2"></asp:RangeValidator>
    <br>
    <input id="Beregn" type="button" value="Beregn" onclick="return Beregn_onclick()" />
    <br>
    <asp:label runat="server" id="Resultat"></asp:label>
    </form>
Avatar billede Slettet bruger
03. marts 2006 - 15:59 #8
<input id="Beregn" type="button" value="Beregn" onclick="return Beregn_onclick()" />

Der er jo ikke noget javascript Beregn_onClick.

Ville tro at du skal erstatte elementet med en ASP:Button så sætte onclick event til Beregn_Click
Avatar billede david89 Nybegynder
04. marts 2006 - 09:08 #9
Har lige afsat flere point.

Jeg støder stadig på problemer. Når jeg klikker på knappen 'button' fra nit første eksempel, så reagerer mine tekstfelter i mit andet eksempel. Og sådan skal det jo helst ikke være :)

Udover skriver den 'forkert dato' selvom jeg indtaster et dato format sådan her: dd-mm-yyyy


Min kode ser nu sådan her ud:
---------
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="davidplum_dk_temp_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET - Learning!</title>
<script language="javascript" type="text/javascript">

</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     
      <H3>Lektion 2 Kom godt igang</h3>

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" ToolTip="Aktiver handling!" /></div>
   
      <br><hr />


<h3>Lektion 3 Et brugbart eksempel</h3>


<asp:TextBox ID="dato1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Feltet skal udfyldes" ControlToValidate="dato1" Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="Forkert dato" Type="Date" MaximumValue="1-1-2900" Display="Dynamic" MinimumValue="1-1-1900" ControlToValidate="dato1"></asp:RangeValidator>
   
    <br>
<asp:TextBox ID="dato2" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Feltet skal udfyldes" ControlToValidate="dato2" Display="Dynamic"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator2" runat="server" ErrorMessage="Forkert dato" Type="Date" MaximumValue="1-1-2900" Display="Dynamic" MinimumValue="1-1-1900" ControlToValidate="dato2"></asp:RangeValidator>
    <br>
    <asp:Button id="Beregn" runat="server" Text="Beregn"/>
    <br>
    <asp:label runat="server" id="Resultat"></asp:label>
    </form>
</body>
</html>
Avatar billede Slettet bruger
04. marts 2006 - 09:12 #10
<asp:Button id="Beregn" runat="server" Text="Beregn"/> du mangler at sætte onclick event til code-behind metoden Sub Beregn_Click(ByVal sender As Object, ByVal e As EventArgs).

I design view, vælg knappen Beregn, under events i onclick vælg metoden i dropdown.
Avatar billede david89 Nybegynder
04. marts 2006 - 09:18 #11
Det skal jeg vidst lige have bøjet i Neon.

"I design view, vælg knappen Beregn, under events i onclick vælg metoden i dropdown."

Det fattede jeg ikke noget af :)

Mener du at jeg skal oprette en Onclick handle i min default.aspx.vb ?
Avatar billede Slettet bruger
04. marts 2006 - 09:21 #12
OnClick handle findes allerede det er din

Sub Beregn_Click(ByVal sender As Object, ByVal e As EventArgs)

fra din første post.

I ASPX filen skal du have koblet denne metode på onclick eventen op kontrollen <asp:Button id="Beregn" runat="server" Text="Beregn"/>.
Avatar billede david89 Nybegynder
04. marts 2006 - 09:25 #13
Forstår ikke helt hvad du mener med at jeg skal have koblet metoden på. Min knap ser da allerede sådan her ud:

<asp:Button id="Beregn" runat="server" Text="Beregn"/>.
Avatar billede Slettet bruger
04. marts 2006 - 09:26 #14
onclick="Beregn_Click"
Avatar billede david89 Nybegynder
04. marts 2006 - 09:46 #15
Okay, så fik jeg gjordt det. Men det virker stadig ikke:

<asp:Button id="Beregn" runat="server" Text="Beregn" onclick="Beregn_Click"/>
http://www.davidplum.dk/temp/
Avatar billede Slettet bruger
04. marts 2006 - 13:08 #16
Du må være kommet til at fucke din code-behind file for fejlen er en kompilerings fejl...

c:\windows\system32\inetsrv> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\19ffe639\eb7b1862\App_Web_zht4ln_8.dll" /debug- /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Specialized,System.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls  "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\19ffe639\eb7b1862\App_Web_zht4ln_8.0.vb" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\19ffe639\eb7b1862\App_Web_zht4ln_8.1.vb" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\19ffe639\eb7b1862\App_Web_zht4ln_8.2.vb"


Microsoft (R) Visual Basic Compiler version 8.0.50727.42
for Microsoft (R) .NET Framework version 2.0.50727.42
Copyright (c) Microsoft Corporation.  All rights reserved.

c:\webs\talkactive\web109761\davidplum.dk\temp\Default.aspx.vb(2) : error BC30481: 'Class' statement must end with a matching 'End Class'.

Partial Class davidplum_dk_temp_Default
Avatar billede david89 Nybegynder
04. marts 2006 - 17:42 #17
Den fejl har jeg rettet: http://www.davidplum.dk/temp/

Men du kan se jeg ikke kan beregne felterne. For den skriver bare 'forkert dato'
Avatar billede Slettet bruger
05. marts 2006 - 06:20 #18
Når jeg i felterne til lektion 3 skriver

01-02-2006
01-03-2006

får jeg

Der er 1 dage mellem Monday, January 02, 2006 og Tuesday, January 03, 2006
Avatar billede david89 Nybegynder
05. marts 2006 - 09:55 #19
Det kan jeg faktisk godt se. Og jeg fandt også ud af hvorfor jeg ikke kunne få den til at virke. Jeg tastede følgende:

24-05-1989
24-06-1989

Det er jo amerikansk datoformat, så måneden først. Og vi har jo ikke en måned nummer 24 :)

Men sidste ting. Hvorfor vil min button knap i første lektion ikke submitte?
Avatar billede Slettet bruger
05. marts 2006 - 11:14 #20
Fordi der ikke er nogen eventhandler på - onclick
Avatar billede david89 Nybegynder
05. marts 2006 - 13:30 #21
Okay, det kunne jeg godt lige få øje på. Men selvom jeg retter dette, vælger den at submitte det andet eksempel istedet. Min kode til mit første eksempel ser sådan her ud:

Default.aspx
<asp:Button ID="Button1" runat="server" Text="Button" ToolTip="Aktiver handling!" onclick="Button1_Click"/></div>

Default.aspx.vb
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = System.DateTime.Now.ToString("F")
End Sub
Avatar billede Slettet bruger
06. marts 2006 - 07:44 #22
Check lige om du kun har én form på aspx side og at alle andre ASP elementer er indenfor <form> </form>
Avatar billede david89 Nybegynder
10. marts 2006 - 17:49 #23
Det funker nu. Mange tak :)

Smider du lige et svar?
Avatar billede Slettet bruger
11. marts 2006 - 06:02 #24
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