博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebForm(二)——控件和数据库连接方式
阅读量:5109 次
发布时间:2019-06-13

本文共 6833 字,大约阅读时间需要 22 分钟。

一、简单控件

1、Label(作用:显示文字)

Web中:

编译完成后的元素时span(html)

Label

属性:①BackColor:控件背景色 ;

        ②BorderColor:控件边框颜色;

        ③BorderStyle:控件边框样式;

        ④BorderWidth:控件边框宽度

 

2、Literal(作用:显示文字)

Web中:

编译后不会形成什么元素(一般用来后台输出js代码)

        编译后不会形成什么元素

3、TextBox(文字输入框)

属性:①TextMode:文本矿的行为模式,有以下几种模式:

★默认SingleLine:单行。

Web中:

编译后:

★Password:密码框

Web中:

编译后:

★Multiline:文本域

Web中:

编译后textarea:

        ②warp:换行(true:换行;false:不换行)

        ③Enabled:控件启用状态

        ④Readonly:是否可以更改控件中的文本

        ⑤Maxlength:限制最长长度;比如:密码限制多少位,就可以更改此属性

4、按钮类

(1)Button:

Web中:

编译后submit:

属性:Onclintclick:比如:在onclintclick后面加上alert("nihao");

编译后是:

注:

Confirm():

       confirm() 方法用于显示一个带有指定消息和OK 及取消按钮的对话框。

  如果用户点击确定按钮,则confirm() 返回true。如果点击取消按钮,则confirm() 返回false。

  在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用confirm() 时,将暂停对JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。

  下面我们通过这两个小例子,来了解一下它的使用方法吧:

confrim 的使用方法
confirm()使用方法

(2)ImageButton:图片按钮

        属性同Button类似,多以个ImageUrl属性,此属性用于存放图片地址。

(3)LinkButton:被编辑成超链接模样的按钮,

 

:①HyperLink:超链接控件(不经常用此方式见超链接)

      ②边框注意:边框颜色——边框样式——边框粗细


 

二、数据库连接样式

例:做一个登录页面,连接数据库,判断是否登录成功。

实体类:

/// /// Users 的摘要说明/// public class Users{    public Users()    {        //        // TODO: 在此处添加构造函数逻辑        //    }    private string _UserName;    ///     /// 账号    ///     public string UserName    {        get { return _UserName; }        set { _UserName = value; }    }    private string _Parssword;    ///     /// 密码    ///     public string Parssword    {        get { return _Parssword; }        set { _Parssword = value; }    }    }
实体类

数据访问类:

/// /// UsersDA 的摘要说明/// public class UsersDA{    SqlConnection conn = null;    SqlCommand cmd = null;    public UsersDA()    {        conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=128712jdhlys");        cmd = conn.CreateCommand();    }    ///     /// 用户验证    ///     /// 用户名验证    /// 密码验证    /// 
public bool Select(string uname, string pwd) { bool yanzheng = false; cmd.CommandText = "select * from Users where UserName=@uname and Password=@pwd"; cmd.Parameters.Clear(); cmd.Parameters.Add("@uname",uname); cmd.Parameters.Add("@pwd", pwd); conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { yanzheng = true; } conn.Close(); return yanzheng; }}
访问类

:●创建的类要放在App_Code文件夹中,一般不需要自己创建,建类时会有提示。

      ●web没有命名空间

Web中代码:

    
账号:
密码:
.aspx
public partial class _Default : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        Button1.Click += Button1_Click;//登录按钮事件    }    void Button1_Click(object sender, EventArgs e)    {        string zh = TextBox1.Text;        string mm = TextBox2.Text;        bool yanz = new UsersDA().Select(zh, mm);        //法一,无弹窗        if (yanz)            Literal1.Text = "登陆成功!";        else            Literal1.Text = "用户名或密码错误!";        //法二,有弹窗        //if (yanz)        //    Literal1.Text = "";        //else        //    Literal1.Text = "";    }}
.aspx.cs

三、复合控件

      首先建两个类,下面的复合控件将会用到!

实体类:

/// /// Nation 的摘要说明/// public class Nation{    public Nation()    {        //        // TODO: 在此处添加构造函数逻辑        //    }    private string _NationCode;    ///     /// 民族编号    ///     public string NationCode    {        get { return _NationCode; }        set { _NationCode = value; }    }    private string _NationName;    ///     /// 民族名称    ///     public string NationName    {        get { return _NationName; }        set { _NationName = value; }    }}
Nation

数据访问类:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data.SqlClient;/// /// NationData 的摘要说明/// public class NationDA{    SqlConnection conn = null;    SqlCommand cmd = null;    public NationData()    {        conn = new SqlConnection("server=.;database=Data0617;user=sa;pwd=123");        cmd = conn.CreateCommand();    }    ///     /// 返回全部Nation表数据集合    ///     /// 
public List
Select() { List
list = new List
(); cmd.CommandText = "select *from Nation"; conn.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { Nation n = new Nation(); n.NationCode = dr["NationCode"].ToString(); n.NationName = dr["NationName"].ToString(); list.Add(n); } } conn.Close(); return list; }
NationDA

 

(一)DropDownList:下拉列表框

Web显示:

编译后select:

1、给DropDownList写入数据(两种方法)——放在Page_Load中

法一:与winform中给下拉表框填数据类似(DataSource)

protected void Page_Load(object sender, EventArgs e)    {        DropDownList1.DataSource = new NationData().Select();//数据源指向        DropDownList1.DataTextField = "NationName";//显示字段绑定        DropDownList1.DataValueField = "NationCode";//隐藏字段绑定        DropDownList1.DataBind();      }
DataSource

法二:Foreach遍历,同时加上默认选中

protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            List
Nlist = new NationData().Select(); foreach (Nation n in Nlist) { ListItem li = new ListItem(n.NationName, n.NationCode); if (li.Value == "N003") { li.Selected = true; } DropDownList1 . Items.Add(li); } } }
foreach

编译后显示:

编译后

:加一个Button和Label,点击按钮时,将取到的value或text显示在label上。下面用到

 

2、取DropDownList的Value或者text(只能取一条数据的value或text)

void Button1_Click(object sender, EventArgs e)    {        Label1.Text = DropDownList1.SelectedItem.Value;        //Label1.Text = DropDownList1.SelectedItem.Text;    }
取一条数据

3、取多条数据(ListBox控件)

ListBox控件(此控件可以取一条或多条数据)——编译后也是select(下拉列表框)

属性:SelectionMode(列的选择模式)——single:单行,只单选;Multiple:多行,可多选。

ListBox绑定数据的方法同DropDownList一样。

ListBox取数据的方法:

void Button1_Click(object sender, EventArgs e)    {        string end = "";        foreach (ListItem li in ListBox1.Items)        {            if (li.Selected)            {                end += li.Text + " - " + li.Value + ",";            }        }        Label1.Text = end;    }
listbox取数据

(二)CheckBoxList:多选列表

属性:①RepeatColumns:一行最多显示多少个数据

        ②RepeatDirection——Vetical:垂直显示 ; Horizontal:水平显示

        ④RepeatLayout:Table → 用table布局

                   Flow → 用span布局

                   UnorderedList → 无序列表

                   OrderedList → 有序列表

用法同DropDownList和ListBox!

(三)RadioButtonList

属性同CheckBoxList类似,用法同DropDownList和ListBox!


四、http协议无状态性

每一次事件提交,都会将页面刷新,刷新就必走Load事件,进而出现重复绑定的情况

解决方法:判断页面是第一次加载,还是由已经加载出来的页面中的某个按钮执行了提交返回回来的

if (!IsPostBack)

{     load事件中95%的代码都要写在这里面,委托点击事件除外!    }

 


后注:★控件中,name用于服务端 , id用于客户端,

 

未完待续!!!!!!!

 

转载于:https://www.cnblogs.com/H2921306656/p/5889127.html

你可能感兴趣的文章
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
jquery中ajax返回值无法传递到上层函数
查看>>
css3之transform-origin
查看>>
[转]JavaScript快速检测浏览器对CSS3特性的支持
查看>>
Master选举原理
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
小别离
查看>>
微信小程序-发起 HTTPS 请求
查看>>
WPF动画设置1(转)
查看>>
基于node/mongo的App Docker化测试环境搭建
查看>>
秒杀9种排序算法(JavaScript版)
查看>>
Activiti入门 -- 环境搭建和核心API简介
查看>>
struts.convention.classes.reload配置为true,tomcat启动报错
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>