UDN-企业互联网技术人气社区

板块导航

浏览  : 1901
回复  : 0

[讨论交流] WebForm 控件(一)、连接数据库

[复制链接]
genie1003的头像 楼主
发表于 2016-10-8 15:07:26 | 显示全部楼层 |阅读模式
  一、控件

  【简单控件】

  (一)文字显示

  1、 Label → 在html中相当于 span
  1. <asp:Label ID="控件名 runat="server" Text="显示的文本"></asp:Label>
复制代码

  2、 Literal → 仅文字 → 一般用来 输出JS代码
  1. <asp:Literal ID="Literal1" runat="server"></asp:Literal>
复制代码

  (二)文字输入

  TextBox → TextMode不同效果不同
  1. <asp:TextBox ID="textbox1" runat="server" Enabled="True"></asp:TextBox>
复制代码

  TextMode :默认是Text

  单行文本输入框singleLine ( <input name=" txtuid" type=" text" id=" txtuid" disabled=" disabled"  /> )

  密码输入password ( <input name=" txtpwd" type=" password" id=" txtpwd"  />)

  多行文本输入motiline ( <textarea name=" txtmemo" rows=" 2" cols=" 20" id=" txtmemo"></textarea>  )
  • Warp: 自动换行
  • Enabled: 是否启用 相当于html中的 disabled 是否可见
  • ReadOnly:只读
  • Text:相当于 value

  (三)按钮

  1、 Button → 默认是html中的Submit(提交按钮) 无普通按钮和刷新按钮,可以直接用input写
  1. <asp:Button ID="Button1" runat="server" Text="注  册" OnClick="Button1_Click" OnClientClick="confirm('really?')" />

  2. <input type=" submit" name=" Button1" value=" 注 册" id=" Button1" />
复制代码

  OnClientClick: 在客户端点击时执行服务器上的代码 ,字符串属性, 里面写JS代码

  例:confirm:confirm('真的要删除吗?')默认确定或取消都会刷新页面,可以用if语句控制

  text:html中的value

  2、 ImageButton → 图片按钮 html中 type=image

  ImageUrl: 图片地址

  3、 LinkButton → 超链接样式的按钮,仅仅是拥有超链接的样式,并无链接

  控件的相同属性:
  1. ※边框三项 :1、 BorderColor :边框颜色
复制代码

  2、 BorderWidth :边框粗细

  3、 BorderStyle :边框样式

  • NotSet:不设置
  • None:无
  • Dotted:实心不连接方块
  • Dashed:四角
  • Solid:实线
  • Double:双实线
  • Groove:下凹效果
  • Ridge:上凸效果
  • Inset:效果同groove
  • Outset:效果同ridge

  1. ※ Height: 高   Width: 宽
复制代码

  【复合控件】

  DropDownList → select option(html)
  1. <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
复制代码

  显示数据:(写在load里面)

  方法1:DataSource
  1.         DropDownList1.DataSource = new NationData().Select();//数据源指向
  2.         DropDownList1.DataTextField = "NationName";//显示字段绑定
  3.         DropDownList1.DataValueField = "NationCode";//隐藏字段绑定
  4.         DropDownList1.DataBind();
复制代码

  方法2:Foreach
  1.         if (!IsPostBack)
  2.         {
  3.             List<Nation> Nlist = new NationData().Select();

  4.             foreach (Nation n in Nlist)
  5.             {
  6.                 ListItem li = new ListItem(n.NationName, n.NationCode);
  7.                 if (li.Value == "N003")
  8.                 {
  9.                     li.Selected = true;
  10.                 }
  11.                 DropDownList1.Items.Add(li);
  12.             }
  13.         }
复制代码
  
  取数据:

  1、读取一条数据

  取出value值 或 text值  DropDownList只能取一条
  1.     void Button1_Click(object sender, EventArgs e)
  2.     {
  3.         string end = "";

  4.         foreach (ListItem li in RadioButtonList1.Items)
  5.         {
  6.             if (li.Selected)
  7.             {
  8.                 end += li.Text + " - " + li.Value + ",";
  9.             }
  10.         }

  11.         Label1.Text = end;
  12.     }
复制代码

  ListBox → select option(html)
  1. <asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple"></asp:ListBox>
复制代码

  用法同DropDownList

  但是可以 多选 - SelectionMode

  CheckBoxList
  1. <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatLayout="UnorderedList"></asp:CheckBoxList>
复制代码

  用法同DropDownList

  • RepeatColumns:一行最多显示多少个数据
  • RepeatDirection:Vetical垂直显示  Horizontal水平显示
  • RepeatLayout:Table → 用table布局

  Flow → 用span布局

  UnorderedList → 无序列表

  OrderedList → 有序列表

  RadioButtonList
  1. <asp:RadioButtonList ID="RadioButtonList1" runat="server"></asp:RadioButtonList>
复制代码

  用法同DropDownList

  • RepeatColumns:一行最多显示多少个数据
  • RepeatDirection:Vetical垂直显示  Horizontal水平显示
  • RepeatLayout:Table → 用table布局

  Flow → 用span布局

  UnorderedList → 无序列表

  OrderedList → 有序列表

  http协议无状态性:

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

  判断页面是第一次加载,还是由已经加载出来的页面中的某个按钮执行了提交返回回来的
  1. if (! IsPostBack )
复制代码

  load事件中95%的代码都要写在这里面

  代码委托添加点击事件:

  例:
  1. Button1.Click += Button1_Click;
复制代码

  控件中的         name 用于服务端       id 用于客户端(js css)使用

  二、WebForm的数据库连接方式
  1. ※放在App_Code文件夹下

  2. ※web没有命名空间
复制代码

  数据库连接同winform:

  1.实力类

  2.数据连接类和数据访问类写一块
  1. public class UsersData
  2. {
  3.     SqlConnection conn = null;
  4.     SqlCommand cmd = null;

  5.     public UsersData()
  6.     {
  7.         conn = new SqlConnection("server=.;database=Data0617;user=sa;pwd=123");
  8.         cmd = conn.CreateCommand();
  9.     }

  10.     /// <summary>
  11.     /// 用户验证
  12.     /// </summary>
  13.     /// <param name="Uname">验证的用户名</param>
  14.     /// <param name="Pwd">验证的密码</param>
  15.     /// <returns></returns>
  16.     public bool Select(string Uname, string Pwd)
  17.     {
  18.         bool has = false;
  19.         cmd.CommandText = "select *from Users where UserName =@a and PassWord=@b";
  20.         cmd.Parameters.Clear();
  21.         cmd.Parameters.Add("@a", Uname);
  22.         cmd.Parameters.Add("@b", Pwd);

  23.         conn.Open();
  24.         SqlDataReader dr = cmd.ExecuteReader();
  25.         if (dr.HasRows)
  26.         {
  27.             has = true;
  28.         }
  29.         conn.Close();
  30.         return has;
  31.     }
  32. }
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部