1.注意GroupName

<asp:RadioButton ID="rdoF" runat="server" Text="男" Checked="true"
GroupName="sex" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:RadioButton ID="rdoM"
runat="server" Text="女" GroupName="sex" />

2.SqlTransaction

conn = new SqlConnection(SqlConn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tran = null;
//根据EmpID判断是否是修改操作还是新建操作
if (EmpID == "")
{
try
{
conn.Open();
//添加数据库事务
tran = conn.BeginTransaction();
// 绑定事务
cmd.Transaction = tran;

string strSqlText = "insert into dbo.Employee values('" + txtName.Text + "','" + rdoF.Checked + "','" + DateTime.Parse(txtBirth.Value) + "'," + int.Parse(ddlC.SelectedValue) + ",'" + txtAddress.Text + "','" + txtEmail.Text + "','" + txtRemark.Text + "')";
cmd.CommandText = strSqlText;
cmd.CommandType = CommandType.Text;
//提交人员注册的信息
int i = cmd.ExecuteNonQuery();
//获取新增的人员id
cmd.CommandText = "select E_Id from dbo.Employee where E_Name='" + txtName.Text + "' and E_Brith='" + txtBirth.Value + "' and E_Address='" + txtAddress.Text + "'";
SqlDataReader sr = cmd.ExecuteReader();
//新增的人员id
int E_ID = 0;
while (sr.Read())
{
E_ID = sr.GetInt32(0);
}
sr.Close();
//新增人员登录的账号和密码
cmd.CommandText = "insert into dbo.Emp_Submit values(" + E_ID + ",'" + txtAccount.Text + "','" + txtPwd1.Text + "')";
i += cmd.ExecuteNonQuery();
//提交事务
tran.Commit();
if (i > 1)
{
//成功后的提示信息
Response.Write("<script>alert('注册成功," + txtName.Text + "欢迎进入本站!')</script>");
txtNull();
lblNull();
}
else
{
Response.Write("<script>alert('注册失败!')</script>");
}
}
catch (Exception ex)
{
//回滚事务
tran.Rollback();
Response.Write("<script>alert('" + ex.Message + "')</script>");
}
finally
{
conn.Close();
}

3.

Ø在ASP.NET中,控件分成HTML服务控件和Web服务控件两种
Ø所有的 ASP.NET Web 服务器控件都派生自 System.Web.UI.WebControls 命名空间
Ø使用Web服务器控件需要注意AutoPostBack的使用
•HTML 服务器控件是由 ASP.NET 更新的标准 HTML 标签,通过添加 runat=“server” 属性将其用作服务器控件
HTML 服务器控件属于 System.Web.UI.HTMLControls 命名空间,派生自 HTMLControl 基类
 
4.浏览器向用户显示一个窗体,用户与该窗体进行交互,这导致该窗体回发到服务器

因为与服务器组件进行交互的所有处理必须在服务器上发生,这意味着对于要求处理的每一操作而言,必须将该窗体发送到服务器、进行处理、然后返回到浏览器。

5.

if((img.fileSize/1024)>500)
                            {
                                alert("你选择的第"+(i+1)+"个图片过大,必须在500kb以内!");return false;
                            }

6.批量上传

HttpFileCollection hfc = this.Request.Files;
for (int i = 0; i < hfc.Count; i++)
{
//Response.Write("<script>alert('" + hfc[i].FileName + "')</script>");
string fileUrl = hfc[i].FileName;
if (fileUrl == "")
{
continue;
}
//截取最后从双斜杠开始到结束的字符创(截取文件名称和后缀)
fileUrl = fileUrl.Substring(fileUrl.LastIndexOf("\\") + 1);
//服务器保存的路径
fileUrl = this.MapPath("userUpLoad\\") + fileUrl;
//小文件上传
hfc[i].SaveAs(fileUrl);
}
Response.Write("<script>alert('批量上传成功!')</script>");

7.

文本框不能为空验证

<tr>
<td class="style1">姓名:</td>
<td class="style1">
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</td>
<td class="style1">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtName" ErrorMessage="姓名不能为空" Display="None"></asp:RequiredFieldValidator>
</td>
</tr>

比较验证,比如密码

<tr>
<td>密码:</td>
<td>
<asp:TextBox ID="txtPwd1" runat="server" TextMode="Password"></asp:TextBox>
</td>
<td></td>
</tr>
<tr>
<td>确认密码:</td>
<td>
<asp:TextBox ID="txtPwd2" runat="server" TextMode="Password"></asp:TextBox>
</td>
<td>
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="txtPwd1" ControlToValidate="txtPwd2"
ErrorMessage="密码与确认密码不一致!"></asp:CompareValidator>
</td>
</tr>

出生日期不得低于某个固定日期

<tr>
<td class="style1">出生日期:</td>
<td class="style1">
<asp:TextBox ID="txtBirth" runat="server"></asp:TextBox>
</td>
<td class="style1">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtBirth" Display="None" ErrorMessage="出生日期不能为空!"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator2" runat="server"
ControlToValidate="txtBirth" ErrorMessage="出生日期不匹配!" Operator="LessThanEqual"
Type="Date" ValueToCompare="2012-11-15"></asp:CompareValidator>
</td>
</tr>

输入的必须是整数

<tr>
<td>工作年限:</td>
<td>
<asp:TextBox ID="TextBox2" runat="server">0</asp:TextBox>
</td>
<td>
<asp:CompareValidator ID="CompareValidator3" runat="server"
ControlToValidate="TextBox2" ErrorMessage="输入的值必须是数字" Operator="DataTypeCheck"
Type="Integer"></asp:CompareValidator>
</td>
</tr>

数值必须处于某个范围内

<tr>
<td class="style1">账号:</td>
<td class="style1">
<asp:TextBox ID="txtAccount" runat="server"></asp:TextBox>
</td>
<td class="style1">
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="txtAccount" ErrorMessage="必须是在1000到10000之间的数字"
MaximumValue="10000" MinimumValue="1000" Type="Integer"></asp:RangeValidator>
</td></tr>

验证电子邮箱的格式是否正确

<tr>
<td class="style1">电子邮件:</td>
<td class="style1">
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
</td>
<td class="style1">
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtEmail" ErrorMessage="电子邮件的值不匹配!"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>

该控件收集本页的所有验证错误信息,并可以将它们组织以后再显示出来

<tr>
<td colspan="2">
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
DisplayMode="List" />
</td>
<td>&nbsp;</td>
</tr>

CustomValidator(自定义验证)控件

<td>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ControlToValidate="TextBox3" ErrorMessage="验证码不正确!"
onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
</td>

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (TextBox3.Text == "1234")
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}

args.IsValid 为ture则不报错,若false则报ErrorMessage="验证码不正确!"

验证控件请参考 http://www.51cto.com/specbook/14/3305.htm

aspx小集合的更多相关文章

  1. 【转】HTML5的小知识点小集合

    html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<h ...

  2. html5的小知识点小集合

      html5的小知识点小集合 html5知识   1.  Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于< ...

  3. Ubuntu常用软件安装(小集合)

    跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux Linux包系列的知识:https://www.cnblogs.com/dun ...

  4. Java-大集合拆分为指定大小的小集合

    因为Oracle数据的in 最大允许1000 ,超过就会报错, 所以需要将集合拆分为多个集合进行处理. /** * 拆分集合 * @param <T> * @param resList 要 ...

  5. 我为Net狂 ~ 社交平台系列小集合!

    微信平台: 我为Net狂(dotNetCrazy) 资源贴吧: http://tieba.baidu.com/f?kw=毒逆天 个人博客: http://dunitian.cnblogs.com/ h ...

  6. SVN代码冲突解决方案小集合

    对于刚接触svn的人来说,svn冲突后,不能提交是件让人很郁闷的事情.最让人郁闷的事,是代码间的覆盖.你把我代码盖了,我会很火大的.谁把谁的盖了都不爽. 为什么会出现代码冲突问题呢,因为不同的人,同时 ...

  7. Mysql监控工具小集合

    介绍一些常见的Mysql监控工具. Cacti Cacti是 一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过snmpget来获取数据,使用 RRDtool绘 ...

  8. NSStirng、NSArray、以及枚举(Method小集合)

    Object-c代码 /**************************************************************************************** ...

  9. 佩特来项目经验小集合(2)___组合查询存储过程,报错 &quot;varchar JBID=&#39;&#39; 转换成数据类型 int 时失败&quot;

       今天写一个组合查询的存储过程遇到这样一个问题:在将 varchar 值 'SELECT * FROM View_DLS_WXJD_Customer WHERE 1=1 and JBID ='' ...

随机推荐

  1. 微信小程序基于scroll-view实现锚点定位

    代码地址如下:http://www.demodashi.com/demo/14009.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

  2. Android API之android.provider.ContactsContract.RawContacts

    android.provider.ContactsContract.RawContacts Constants for the raw contacts table, which contains o ...

  3. tomcat使用方法大全

    一.安装tomcat之后 tomcat压缩包解压之后,进入webapps目录,可以看到如下webapp: docs文档:这是一个静态页面集,不用启动tomcat也可以阅读 examples样例 hos ...

  4. 【php】基础学习3

    本节主要是php中函数的学习: <html xmlns=http://www.w3.org/1999/xhtml> <head> <meta http-equiv=Con ...

  5. RHEL7 -- 通过gerp使用正则表达式

    正则表达式常会含有shell元字符(如S.*等),建议使用单引号('')来括起行令上的正则表达式 1.行定位符号 行首定位符号^和行尾定位符$ #找出以s开头的行: # grep '^s' /etc/ ...

  6. Concurrency Managed Workqueue(三)创建workqueue代码分析

    一.前言 本文主要以__alloc_workqueue_key函数为主线,描述CMWQ中的创建一个workqueue实例的代码过程. 二.WQ_POWER_EFFICIENT的处理 __alloc_w ...

  7. linux中init.d文件夹的说明

    一.简单说明 /etc/init.d 是 /etc/rc.d/init.d 的软链接(soft link).可以通过 ll 命令查看. ls -ld /etc/init.d lrwxrwxrwx. r ...

  8. unity 在脚本B中调用脚本A的函数

    一,在脚本B中调用脚本A的函数. 脚本A: //myFuncs.cs using UnityEngine;using System.Collections; namespace myFuncs{    ...

  9. scala-trait实现AOP编程

    步骤1:声明表示基本动作方法的模块Taction //声明表示基本动作方法的模块Taction trait TAction { def doAction } 步骤2:定义一下加入了前置处理和后置处理的 ...

  10. Oracle中查询表字段基本信息、主键、外键(整理)

    背景 因为项目某些模块的数据结构设计没有严格按照某规范设计,所以只能从数据库中查询数据结构,需要查询的信息如下:字段名称.数据类型.是否为空.默认值.主键.外键等等. 在网上搜索了查询上述信息的方法, ...