Hej snepnet...
Jeg hænger vist tydeligvis lidt for meget fast i det gamle asp med hensyn til opbygningen...
Hvis vi starter med at kikke på siden der har datagrid'et og henter fra databasen, hvordan får jeg så ovenstående implementeret, og er metoden jeg har gjort det på "forkert":
<%@ Page Language="C#" %>
<%@ import Namespace="DatabaseConnection" %>
<%@ import Namespace="System.Data" %>
<script runat="server">
public class DataPage : Page
{
protected DataSet PageData
{
get{return Session["PageData"] as DataSet;}
set{Session["PageData"] = value;}
}
// og måske nogle tabelnavne
protected static string ModuleTable = "ModuleTable";
}
DBConn DB;
String getString="Select Id,SiteAddress,User,Modules from Sites order by Id DESC";
//Hides the column Id, which should not be shown
void Sites_OnItemDataBound(Object s, DataGridItemEventArgs es){
es.Item.Cells[1].Visible = false;
}
void BindData(){
DB=new DBConn();
if(!DB.makeConn())
{
DataSet DS=DB.getDataSet(getString);
DB.closeConn();
Session["PageData"]=DS;
Sites.DataSource = DS;
Sites.DataBind();
}
else
{
EkstraLabel.Text=DB.getLastError();
}
}
public void Page_Load(Object sender, EventArgs E){
if(!Page.IsPostBack)
{
BindData();
}
}
//get next page
void myDataGridIsPaged(Object sender , DataGridPageChangedEventArgs e){
Sites.CurrentPageIndex = e.NewPageIndex;
Sites.DataSource = Session["PageData"];
Sites.DataBind();
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
</head>
<body>
<link href="../Style.css" type="text/css" rel="stylesheet" />
<script language="JavaScript1.2" src="../MenuInclude.js"></script>
<img src="../Images/Topbar.gif" />
<div id="DomainDiv">MasterAdmin
</div>
<div id="MenuDiv">
<!--#Include file="../Menu.asp"-->
</div>
<div id="ContentDiv">
<form runat="server">
<asp:DataGrid id="Sites" runat="server" HeaderStyle-Font-Bold="True" OnPageIndexChanged="myDataGridIsPaged" PageSize="15" AllowPaging="True" AutoGenerateColumns="True" OnItemDataBound="Sites_OnItemDataBound" CellPadding="5" CellSpacing="0" PagerStyle-Mode="NextPrev" BorderWidth="0">
<Columns>
<asp:TemplateColumn HeaderText="Choose">
<ItemTemplate>
<a href="Edit.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "Id").ToString()%>">Choose</a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</div>
<div id="EkstraDiv"><asp:Label id="EkstraLabel" runat="server"></asp:Label>
</div>
</body>
</html>