ASP.NET的简单数据绑定

ASP.NET也可以将代码前置,不借助VS.NET的代码提示功能,也许能体会到更多的细节吧。简单数据绑定的关键一点就是利用<%# ... %>来调用函数,下图是要实现的功能:

ASP.NET的简单数据绑定

代码如下:

<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" Debug="true"%>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>简单数据绑定</title>

<style type="text/css">

h1,div {text-align:center; font-family:宋体; font-size:x-large; color:#CC0000}

table {font-size:14px; color:black}

.stdTextBox {text-align:center; background-color:#CCCCCC; color:#990000}



</style>

</head>

<body bgcolor="ivory">



<form runat="server">

<h1>当前路径:<asp:Label runat="server" ID="lblPath"/></h1>

<div>

<table align="center">

<tr>

<th>编号</th><th>姓名</th><th>城市</th></tr>

<td><asp:TextBox ID="txtID" CssClass="stdTextBox" runat="server" Text='<%#getData("CustomerID") %>'/></td>

<td><asp:TextBox ID="txtName" CssClass="stdTextBox" runat="server" Text='<%#getData("CompanyName") %>'/></td>

<td><asp:TextBox ID="txtTeam" CssClass="stdTextBox" runat="server" Text='<%#getData("City") %>'/></td>

</table>

<asp:LinkButton ID="btnPrev" Font-Size="17px" runat="server" Text="<<" onClick="movePrev"/>

<asp:LinkButton ID="btnNext" Font-Size="17px" runat="server" Text=">>" onClick="moveNext"/>

</div>

</form>



<script language="c#" runat="server">

public void Page_Load(Object sender,EventArgs e)

{

    this.lblPath.Text = Request.Url.ToString();

    if(!IsPostBack)

    {

        string strConn = "server=.;database=Northwind;uid=sa;pwd=millfox";

        DataSet ds = new DataSet();

        string strSelect = "SELECT CustomerID,CompanyName,City FROM Customers";

        SqlDataAdapter cmd = new SqlDataAdapter(strSelect,strConn);

        cmd.Fill(ds,"tempTable");

        this.txtID.Text = ds.Tables["tempTable"].Rows[0]["CustomerID"].ToString();

        this.txtName.Text = ds.Tables["tempTable"].Rows[0]["CompanyName"].ToString();

        this.txtTeam.Text = ds.Tables["tempTable"].Rows[0]["City"].ToString();

        

        Session["currentRecord"] = 0;

        Session["recordCount"] = ds.Tables["tempTable"].Rows.Count-1;

        Session["myDs"] = ds;

        ReFresh();

    }

    

}



public void ReFresh()

{

    this.txtID.DataBind();

    this.txtName.DataBind();

    this.txtTeam.DataBind();

}



public void moveNext(Object sender,EventArgs e)

{

    int i = (int)Session["currentRecord"];

    int total = (int)Session["recordCount"];

    if(i<total)

    {

        Session["currentRecord"] = i+1;

        ReFresh();

    }

}



public void movePrev(Object sender,EventArgs e)

{

    int i = (int)Session["currentRecord"];

    if(i>0)

    {

        Session["currentRecord"] = i-1;

        ReFresh();

    }

}



public string getData(string colName)

{

    DataSet ds = (DataSet)Session["myDs"];

    int i = (int)Session["currentRecord"];

    string temp = ds.Tables["tempTable"].Rows[i][colName].ToString();

    return temp;

}

</script>

</body>

</html>

 

你可能感兴趣的:(asp.net)