• 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>
  • 相关阅读:
    NOI2010 超级钢琴
    [linux][nginx] 常用2
    [linux][nginx] 常用
    [PHP]听说随机数mt_rand()比rand()速度快,闲的无聊测试了一下!
    [linux] 权限问题
    [Laravel] 自带分页实现以及links方法不存在错误
    [YII2] 去除自带js,加载自己的JS,然后ajax(json)传值接值!
    [PHP]PHP设计模式:单例模式
    [html]浏览器标签小图标LOGO简单设置
    [javascript]JS获取当前时间戳的方法
  • 原文地址:https://www.cnblogs.com/CoderWayne/p/4485078.html
Copyright © 2020-2023  润新知