1、ASP.NET的好坏处
CodeBehind:“前aspx后cs”的模式,
(1、aspx(控件定义、html、css)控制页面长相,cs控制程序逻辑
aspx就是模板引擎,不需要再去寻找第三方的模板引擎
(2、aspx中调用cs的成员级别必须是protected或者public不能是private
因为当前this执行的是当前的子类(通过反编译查看)
2、
Literal:
Mode属性,避免XSS攻击
TextBox:
AutopostBack=true 焦点离开Textbox提交表单
ASP.NET中经常不直接调用submit而是调用_doPostBack方法提交表单
TestChanged事件配合AutopostBack可以点击submit自动提交表单更新输入文本
Button:OnCLientClick
return confirm(\"真的要执行吗?\")
3、Button、LinkButton、ImageButton让多个控件共享一个处理函数:
command属性设置响应函数
CommandArgument=“daomul”(命令参数传参数)
CommandName=“Remove”(名字)
4、
Panal:
弄成\"高级设置\"(fieldset)的渲染形式:GroupingText=“高级设置”
HyperLink:引用站内内部资源的时候很方便(自动转换路径)
NavigateUrl属性
5、
FileUpload:
FileUploadl.HasFile:用户是否选择了文件
FileUploadl.SaveAs(\"根目录全路径\"):
Server.Mapath或者VirtualPathUtility.ToAbsolute都可以
path=Server.Mapath(“~/upload/”);
漏洞:(只允许上传指定类型的文件)
System.IO.File.Delete(Server.Mapath.(\"~/upload/\"));
System.IO.File.ReadAllText(Server.Mapath.(\"~/upload/\"));
6、实例:注册界面
Register.aspx
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<body>
<form id=\"form1\" runat=\"server\">
<div>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td>
<asp:Label ID=\"LabelName\" runat=\"server\" Text=\"姓名\"></asp:Label>
</td>
<td>
<asp:TextBox ID=\"txtUserName\" runat=\"server\" AutoPostBack=\"True\"
ontextchanged=\"txtUserName_TextChanged\"></asp:TextBox>
<asp:Label ID=\"errorMsg\" runat=\"server\"
Text=\"Label\" CssClass=\"error\" Visible=\"False\"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID=\"Label2\" runat=\"server\" Text=\"密码\"></asp:Label>
</td>
<td>
<asp:TextBox ID=\"txtPassWord\" runat=\"server\"></asp:TextBox>
密码强度:
<span id=\"spanPassWord\" ></span>
</td>
</tr>
<tr>
<td>
<asp:Label ID=\"Label3\" runat=\"server\" Text=\"重复输入密码\"></asp:Label>
</td>
<td>
<asp:TextBox ID=\"txtPassWord_Second\" runat=\"server\"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID=\"Label4\" runat=\"server\" Text=\"邮箱\"></asp:Label>
</td>
<td>
<asp:TextBox ID=\"txtEmail\" runat=\"server\"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID=\"btnRegister\" runat=\"server\" Text=\"注册\"
onclick=\"btnRegister_Click\" />
</td>
</tr>
<tr>
<td>
<asp:Label ID=\"LabelErrorMsg\" runat=\"server\" Visible=\"False\"></asp:Label>
</td>
</tr>
</table>
</div>
</form>
</body>
<head id=\"Head1\" runat=\"server\">
<style type=\"text/css\">
.error{background:Red;}
</style>
<title>注册用户</title>
<script src=\"Scripts/jquery-1.4.1.js\" type=\"text/javascript\"></script>
<script type=\"text/javascript\">
$(function () {
$(\"#<%=txtPassWord.ClientID %>\").blur(function () {
var str = $(this).val();
if (str.length <= 6) {
$(\"#spanPassWord\").text(\"弱\");
}
else {
//含有数字、字母
var check = /\\w/;
if (check.test(str)) {
$(\"#spanPassWord\").text(\"强\");
}
else {
$(\"#spanPassWord\").text(\"中\");
}
}
});
$(\"#<%=form1.ClientID %>\").submit(function () {
var pas1 = $(\"#<%=txtPassWord.ClientID %>\").val();
var pas2 = $(\"#<%=txtPassWord_Second.ClientID %>\").val();
if (pas1 != pas2) {
alert(\"两次输入密码不一致,请重新输入\");
return;
}
var sEmail = $(\"#<%=txtEmail.ClientID %>\").val();
var check = /.+@.+/;
if (!check.test(sEmail)) {
alert(\"邮箱格式不正确,请重新输入\");
return;
}
});
});</script>
</head>
</html>
本文地址:https://www.stayed.cn/item/8748
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我