asp.net og eventhandler funktioner
Jeg har en side men logikken virker ikke efter hensigten. Selve asp.net dokumentet indeholder flere html dokumenter. Det er bygget op med Steps. Step1 => Step2, Step2 => Step3.Under hvert step er der en knap der er forbundet med en funktion. Det vil sige nar der trykkes paa en knap under step1, skal den gaa til step HVIS der ikke er fejl(der uploades en fil).
Med det nye asp.net er der mange nye fanzye features, og jeg vil selvfoelgelig gerne bruge disse. Er der en eller anden maade man kan groupe en masse HTML paa(et step i mit tilfaelde) med en asp tag saa de kan blive aktiveret/deaktiveret. Saaledes at man kan bruge step1.Enabled = true.
Ja, det er saadan set mit store problem. Lige nu har goer jeg det ved at saette en variable indeni eventhandler funktionen, og naar program eksekveringen saa kommer ned til HTML delen, spoerger jeg hvilken vaerdi variablen er sat til.
Jeg vedlaegger lige koden nedenunder.... det er sikkert rodet det jeg har skrevet, men jeg svarer gerne paa spg.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Dim con1 As SqlConnection = New SqlConnection( "Server=IntranetServer;UID=Maintain;PWD=Maintain;Database=Thatcham;" )
Dim cmd1 As SqlCommand
Dim dtr1 As SqlDataReader
Dim strStep As String
Sub Page_Load
strStep = 1
End Sub
Sub GotoStep1_Click(Sender As Object, E As EventArgs)
strStep = 1
End Sub
Sub GotoStep3_Click(Sender As Object, E As EventArgs)
strStep = 3
lblResponse.text="You are in step 3"
End Sub
Sub GotoStep2_Click(Sender As Object, E As EventArgs)
strStep = 2
If Not IsNothing( txtUpload.PostedFile ) and txtUpload.PostedFile.FileName <> "" Then
Dim strFileName as string = txtUpload.PostedFile.FileName
'saveto temporary folder
Dim strFilesFolderTemp as string = "C:\files\temp\"
'saveto production folder
Dim strFilesFolderProd as string = "C:\files\cars\"
'Creates temporary folder if it does not exist
If not Directory.Exists(strFilesFolderTemp) Then
Directory.CreateDirectory(strFilesFolderTemp)
End If
'Creates production folder if it does not exist
If not Directory.Exists(strFilesFolderProd) Then
Directory.CreateDirectory(strFilesFolderProd)
End If
'Find first name of file uploaded
strFileName = Path.GetFileName(strFileName)
strFileName = Left(strFileName ,strFileName.IndexOf("."))
'Extracting years and doors of filename and put them into their respective textboxes
Dim arrFileNameSplit() as string
arrFileNameSplit = strFileName.split("-")
txtDoors.text = arrFileNameSplit(3)
txtYear.text = arrFileNameSplit(2)
Dim iFileNameNewVersion as Integer = 10
'Searches for previous physical versions of this file and thereby setting the right version number to the new file
Dim arrFiles() as string = Directory.GetFiles(strFilesFolderProd, strFileName & "*")
Dim file as string
For Each file in arrFiles
Dim iFileNameOldVersion as Integer = CInt(Mid(file,file.IndexOf(".")-1,2)) 'Potentiel error cause string is 1-based
If iFileNameOldVersion >= iFileNameNewVersion Then
iFileNameNewVersion = iFileNameOldVersion + 1
End if
Next
'Save Uploaded file to server
strFilesFolderTemp = strFilesFolderTemp & strFileName & "-" & CStr(iFileNameNewVersion) & ".pdf"
txtUpload.PostedFile.SaveAs(strFilesFolderTemp)
con1.Open()
cmd1 = New SqlCommand( "select IDbrand, brand from brands", con1 )
dtr1 = cmd1.ExecuteReader()
dropBrand.DataSource = dtr1
dropBrand.DataBind()
con1.close()
Else
End If
End Sub
</script>
<html>
<body>
<asp:label id="test" runat="server"/>
<form enctype="multipart/form-data" runat="server">
<table>
<%If strStep = 1 Then%>
<tr>
<th colspan="3">
Step 1
</th>
</tr>
<tr>
<td>
Upload File
</td>
<td>
<input id="txtUpload" type="file" runat="server">
</td>
<td>
<asp:RegularExpressionValidator
ControlToValidate="txtUpload"
Text="xx-yyyyyyy-zz-z"
ValidationExpression=".*\\\w{2}-[\w\d]{7}-\d{2}-\d\.pdf"
ForeColor="Red"
Runat="server" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:button
id="a2"
Text="Upload File"
CausesValidation="True"
OnClick="GotoStep2_Click"
runat="server"/>
</td>
</tr>
<%Else If strStep = 2 Then%>
<tr>
<th colspan="3">
Step 2
</th>
</tr>
<tr>
<td>
Brand
</td>
<td>
<asp:DropDownList
id="dropBrand"
DataTextField="brand"
DataValueField="IDbrand"
runat="server"/>
</td>
<td>
<asp:RequiredFieldValidator
ControlToValidate="dropBrand"
Text="Choose brand from list"
runat="server"/>
</td>
</tr>
<tr>
<td>
Model
</td>
<td>
<asp:TextBox id="txtModel" runat="server"/>
</td>
<td>
<asp:RequiredFieldValidator
ControlToValidate="txtModel"
Text="Enter a model"
runat="server"/>
</td>
</tr>
<tr>
<td>
Doors
</td>
<td>
<asp:TextBox
readonly="true"
id="txtDoors"
runat="server"/>
</td>
<td>
</td>
</tr>
<tr>
<td>
Year
</td>
<td>
<asp:TextBox
readonly="true"
id="txtYear"
runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:button
id="a1"
CausesValidation="False"
text="Upload another file"
OnClick="GotoStep1_Click"
runat="server"/>
<asp:button
id="a3"
CausesValidation="True"
text="Insert car"
OnClick="GotoStep3_Click"
runat="server"/>
</td>
</tr>
<%Else If strStep = 3 Then%>
<tr>
<th colspan="3">
Step 3
</th>
</tr>
<tr>
<td>
Car inserted succesfully:
<asp:label id="lblResponse" Runat="Server"/>
</td>
</tr>
<%End If%>
</table>
<asp:PlaceHolder id="plhForm" Runat="Server" />
</form>
</body>
</html>
