Jag har började kolla på .net för ca 3 veckor sedan och har exprimenterat lite. Nu har jag kommit en bit på en sida jag håller på med och skulle vilja ha hjälp med strukturen..
är detta en bra struktur eller är det dålig? vad bör jag ändra?
m.m.
och eftersom jag kan lite VB6.0 så tänkte jag börja med VB men när jag har lite mer kött på benen så skall jag eventuellt gå över till C#..
ASPX-filen
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="personal.aspx.vb" Inherits="JagBaraTestar.personal"%>
<%@ Import namespace="JagBaraTestar.Klasser" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>personal</title>
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="Styles.css" type="text/css" rel="stylesheet">
</HEAD>
<body MS_POSITIONING="FlowLayout">
<form id="Form1" method="post" runat="server">
<asp:repeater id="repPersonal" runat="server">
<ItemTemplate>
<tr>
<td>
<span class="PersonalNamn">
<%#fixtext(Container.dataitem("EfterNamn") & ", " & Container.dataitem("ForNamn"),true)%>
</span>
<br>
<span class="PersonalTitel">
<%#Fixtext(Container.dataitem("Titel"),true)%>
</span>
<br>
<span class="Personal"><a href="Mail" class="Personal">
<%#Fixtext(Container.dataitem("email"),true)%>
</a></span>
<br>
<span class="Personal">
<%#fixtext(Container.dataitem("telnr"),true)%>
</span>
<br>
<br>
<span class="Personal">
<%#fixtext(Container.dataitem("Texten"),true)%>
</span>
</td>
<td width="100">
<%#Bild("personal/" & Container.dataitem("bild"),"")%>
</td>
</tr>
</ItemTemplate>
<HeaderTemplate>
<table width="100%">
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<SeparatorTemplate>
<tr>
<td height="4" style="BACKGROUND-IMAGE: url(img/dotted.gif); BACKGROUND-REPEAT: repeat-x" colspan="2"> </td>
</tr>
</SeparatorTemplate>
</asp:repeater>
</form>
</body>
</HTML>
ASPX.VB filen
Imports JagBaraTestar.Klasser
Public Class personal
Inherits System.Web.UI.Page
Protected WithEvents DLpersonal As System.Web.UI.WebControls.DataList
Protected WithEvents DataList1 As System.Web.UI.WebControls.DataList
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents repPersonal As System.Web.UI.WebControls.Repeater
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
Dim iID As Integer = Val(Request.QueryString("ID"))
If Not IsPostBack Then
Personalen.SattPersonal()
Personalen.Fillobj(repPersonal)
End If
End Sub
End Class
och klasser.vb
Imports System.Data.OleDb
Imports System.Web.HttpUtility
Imports System.Web.Mail
Namespace Klasser
Public Module Funktioner
Private Con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\db.mdb")
Private DTnyheter As New DataTable()
Private DAnyheter As OleDbDataAdapter
Private sSQLnyheter As String = "SELECT * FROM nyheter order by Datum DESC"
Private DThistorik As New DataTable()
Private DAhistorik As OleDbDataAdapter
Private sSQLhistorik As String = "SELECT TOP 1 * FROM Historik order by ID DESC"
Private DTtjanst As New DataTable()
Private DAtjanst As OleDbDataAdapter
Private sSQLtjanst As String = "SELECT * FROM Tjanster order by ID DESC"
Private DTpersonal As New DataTable()
Private DApersonal As OleDbDataAdapter
Private sSQLpersonal As String = "SELECT * FROM Personal order by efternamn"
'Här kommer det sedan att ligga fler klasser för Tjänster, Personal m.m och dom är nästan identiska med Nyhet
Public Class Nyhet
Shared Sub Sattnyheter()
DTnyheter.Clear()
DAnyheter = New OleDbDataAdapter(sSQLnyheter, Con)
DAnyheter.Fill(DTnyheter)
End Sub
Shared Function GetNyheter() As DataTable
Return DTnyheter
End Function
Shared Sub Fillobj(ByVal obj As Object)
obj.DataSource = DTnyheter
obj.DataBind()
End Sub
Shared Sub NyNyhet(ByVal dDatum As Date, ByVal sTitel As String, ByVal sTexten As String, ByVal sBild As String)
Dim DRnyheter As DataRow
DRnyheter = DTnyheter.NewRow()
DRnyheter("Titel") = sTitel
DRnyheter("Texten") = sTexten
DRnyheter("Bild") = sBild
DRnyheter("datum") = dDatum
DTnyheter.Rows.Add(DRnyheter)
End Sub
Shared Sub RedigeraNyhet(ByVal iRow As Integer, ByVal dDatum As Date, ByVal sTitel As String, ByVal sTexten As String, ByVal sBild As String)
With DTnyheter.Rows(iRow)
.BeginEdit()
.Item("Titel") = sTitel
.Item("Texten") = sTexten
.Item("Bild") = sBild
.Item("Datum") = dDatum
.EndEdit()
End With
End Sub
Shared Sub Spara(ByVal obj As Object)
Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(DAnyheter)
If Not Con.State = ConnectionState.Open Then
Con.Open()
End If
Dim hej = DAnyheter.Update(DTnyheter)
nyhet.Sattnyheter()
nyhet.Fillobj(obj)
Con.Close()
End Sub
Shared Sub Tabort(ByVal iRow As Integer, ByVal obj As Object)
With DTnyheter.Rows(iRow)
.BeginEdit()
.Delete()
.EndEdit()
End With
'DTnyheter.Rows.RemoveAt(iRow)
nyhet.Spara(obj)
End Sub
End Class
'Publika funktioner ligger här
End Module
End Namespace