zoukankan      html  css  js  c++  java
  • ASP.NET的简单数据绑定

    ASP.NET也可以将代码前置,不借助VS.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>
  • 相关阅读:
    【笔记】常见的架构风格
    【笔记】机器学习的数学基础
    【入门】机器学习基础理论
    【产品】海康威视工业相机
    开源搜索引擎与框架
    xmodmap系列工具,用于键盘设置
    【转载】Linux中功能强大的截图工具: Flameshot
    Ubuntu系统环境及配置
    【入门】CloudCompare使用教程
    Linux安装NVIDIA显卡驱动
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/4485078.html
Copyright © 2011-2022 走看看