Fra aspx-incode til codebehind
Jeg har lavet en simpel side, som skal vise noget tekst fra min database i et template. Mit problem er, at det er lavet som et VB-script i min ascx-fil. Jeg har oversat det til C# og lagt det ind i min codebehind fil, men nu bliver datavisningen ikke vist længere. Mit VB-script ser således ud:<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
fillData()
End SUb
sub fillData()
Dim conn As MySqlConnection
Dim adapter As MySqlDataAdapter
Dim connectionString as string
connectionString = "Database=mindb;Data Source=mindatasource;User Id=mitid;Password=mitpass;"
conn = new MySqlConnection(connectionString)
conn.Open()
Dim sql = "SELECT * FROM article"
adapter = new MySqlDataAdapter(sql, conn)
Dim ds As Dataset = new DataSet()
adapter.Fill(ds)
dtList.DataSource = ds
dtList.DataBind()
end sub
</script>
Det jeg så har gjort er at smide dette ind i min codebehind-page load metode:
---
MySqlConnection conn;
MySqlDataAdapter adapter;
string connectionString = "Database=mindb;Data Source=minsource;User Id=mitid;Password=mitpass";
string sql = "SELECT * FROM article";
DataSet ds = new DataSet();
dtList = new DataList();
conn = new MySqlConnection(connectionString);
conn.Open();
adapter = new MySqlDataAdapter(sql,conn);
adapter.Fill(ds);
dtList.DataSource = ds;
dtList.DataBind();
---
Hvordan får jeg fat i mit DataList objekt i min aspx fil? Da det lå som et VB script, blev det bare kaldt med:
<ASP:DataList id="dtList" RepeatColumns="1" runat="server" Width="400px">
Men det kan jeg ikke længere. Hvordan gør jeg dette?
