web端 repeat和简单控件

Posted 天晴微笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web端 repeat和简单控件相关的知识,希望对你有一定的参考价值。

<%@ %> - 这里面写一些声明和引用的
<% %> - 编写C#代码的
<%= %>
<%# %>

Repeater - 重复器     相当于winform的listview
HeaderTemplate - 先执行,执行一次
FooterTemplate - 最后执行,执行一次
ItemTemplate - 在Header之后执行,有多少条数据绑定就执行多少次

AlterNatingItemTemplate - 交替项模板,与ItemTemplate交替执行

<%# Eval("属性名","可选,格式字符串") %>
<%# 方法名() %>

 

绑定数据

List<Users> ulist=new UsersData().SelectAll();

Repeat1.datasource=ulist;  //数据源是ulist

Reapeat1.Bind();    数据绑定

展示使用

<%#Eval("属性名")   %>

例如:

封装类

技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Users 的摘要说明
/// </summary>
public class Users
{
    public int Ids { get; set; }
    public string UserName { get; set; }
    public string Password { get; set; }
    public string NickName { get; set; }
    public bool Sex { get; set; }
    public string Sexstr
    {
        get { return Sex ? "" : ""; }
    }
    public DateTime BirthDay { get; set; }
    public int Age { get { return DateTime.Now.Year - BirthDay.Year; } }
    public string Nation { get; set; }
    public string NationName {

        get { return new UsersData().SelectNationName(Nation); }
    }
}
View Code

封装方法

技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
/// <summary>
/// UsersData 的摘要说明
/// </summary>
public class UsersData
{
    SqlConnection conn = null;
    SqlCommand cmd = null;
    public UsersData()
    {
        conn = new SqlConnection("server=.;database=dat0216;user=sa;pwd=123;");
        cmd = conn.CreateCommand();
    }
    public List<Users> SelectAll()
    {
        List<Users> ulist = new List<Users>();
        cmd.CommandText = "select *from Users";
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            Users u = new Users();
            u.Ids = Convert.ToInt32(dr[0]);
            u.UserName = dr[1].ToString();
            u.Password = dr[2].ToString();
            u.NickName = dr[3].ToString();
            u.Sex = Convert.ToBoolean(dr[4]);
            u.BirthDay = Convert.ToDateTime(dr[5]);
            u.Nation = dr[6].ToString();
            ulist.Add(u);
        }
        conn.Close();
        return ulist;
    }

    public string SelectNationName(string code)
    {
        string end = "<暂无>";
        cmd.CommandText = "select *from Nation where [email protected]";
        cmd.Parameters.Clear();
        cmd.Parameters.Add("@a",code);
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.HasRows)
        {
            dr.Read();
            end = dr["NationName"].ToString();
        }
        conn.Close();
        return end;
    }

    public bool HasUserName(string name)
    {
        bool IsName = false;
        cmd.CommandText = "select *from Users where [email protected]";
        cmd.Parameters.Clear();
        cmd.Parameters.Add("@a",name);
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.HasRows)
        {
            dr.Read();
            IsName = true;
        }
        conn.Close();
        return IsName;
    }
}
View Code

绑定数据

技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Repeater1.DataSource = new UsersData().SelectAll();
        Repeater1.DataBind();
    }
}
View Code

展示数据

技术分享
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <link href="CSS/StyleSheet.css" rel="stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
        <div style="width: 100%;">
            <div class="div1">
                <div id="div1">
                   
                    <a href="Default2.aspx" target="_blank">注册页面</a>
                </div>
                <asp:Repeater ID="Repeater1" runat="server">
                    <HeaderTemplate>
                <table class="table1">
                    <tr class="tr1">
                        <td>编号</td>
                        <td>用户名</td>
                        <td>密码</td>
                        <td>昵称</td>
                        <td>性别</td>
                        <td>生日</td>
                        <td>年龄</td>
                        <td>民族</td>
                    </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                    <tr class="tr2">
                        <td><%#Eval("Ids") %></td>
                        <td><%#Eval("UserName") %></td>
                        <td><%#Eval("PassWord") %></td>
                        <td><%#Eval("NickName") %></td>
                        <td><%#Eval("Sexstr") %></td>
                        <td><%#Eval("Birthday") %></td>
                        <td><%#Eval("Age") %></td>
                        <td><%#Eval("NationName") %></td>
                        <td></td>
                    </tr>
                        </ItemTemplate>
                    <FooterTemplate>
                </table>
                        </FooterTemplate>
                </asp:Repeater>
            </div>
        </div>
    </form>
</body>
</html>
View Code

样式表

技术分享
.div1 {
    width:60%;
    margin-left:20%;
    background-color:pink;
}
.table1 {
background-color:navy;
text-align:center;
}

.tr1 {
    font-size:30px;
    color:white;
}
.tr2 {
background-color:white;
}
#div1 {
margin-right:10%;

}
View Code

 

 

假设 我要把年龄大于16 的数据   背景色改为红色

先把背景色  写好  style=" background-color: white";

在写在封装类中

public string WhiteOrRed

{

get{int Age>16?"red":"white";}

}

 

在把style样式改为 style="background-color:<% #Eval("WhiteOrRed") %>  ;  ";

 

或者修改性别 插入性别图片也是如此;

 

常用控件 

简单控件

label   控件

使用控件的代码

   <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

启用网页 看到的代码是

<span id="Label1">Label</span>

 

也就是说label  相当于  span  

不过span  里内容多大 就显示多大  要占用多大空间  

样式表要写:display:inline-block;

 

 

1.lateral 控件

网页和网页代码都是显示   lateral   text的内容

所以有时候可以这么写

lateral1.text="<script>alert("要弹出的内容");</script>";

 

2.button控件

相当于html的  submit

使用控件的代码

<asp:Button ID="Button1" runat="server" Text="Button" />

转意网页的代码

<input type="submit" name="Button1" value="Button" id="Button1" />

 

3.TextBox - TextMode
SingLine - type="text"
PassWord - type="password"
MultiLine - <textarea>

4.HiddenField - type="hidden"

5.Button - submit
6.ImageButton - type="image"

  <asp:ImageButton ID="ImageButton1" runat="server"  ImageUrl="images/0.png"/>   图片路径

 












以上是关于web端 repeat和简单控件的主要内容,如果未能解决你的问题,请参考以下文章

2017-05-18WebForm的Repeater控件和一些简单控件

webform简单控件和Repeater的使用

WebForm以及WebForm中Repeater控件简单控件使用

wenfrom的简单控件和repeater控件

repeat,datalist,gridview控件的区别? 考试用!

Html控件和web控件概念及区别和优点