aspWord格式.docx
《aspWord格式.docx》由会员分享,可在线阅读,更多相关《aspWord格式.docx(16页珍藏版)》请在冰豆网上搜索。
放一个Label控件:
ID为labServerVariable
添加Button的单击事件,如下代码
privatevoidbtnShowVariable_Click(objectsender,System.EventArgse)
{
labServerVariables.Text="
"
;
StringBuilderinfo=newStringBuilder();
foreach(objectobjVarinRequest.ServerVariables)
info.Append("
<spanstyle="
font-size:
9pt"
>"
);
info.Append(objVar.ToString());
=<fontcolor=blue>"
info.Append(Request.ServerVariables[objVar.ToString()]);
</font></span><br>"
}
labServerVariables.Text=info.ToString();
结果显示:
图片如下:
这样我们就可以这样用
Response.Write(Request.ServerVariables["
REMOTE_ADDR"
]);
//IP地址
Response.Write("
<BR>"
URL"
//网页的URL
第二天
掌握文本框的用法
初次接触try…catch…语法
今天内容很轻松,用一个例子,输入年月日,判断输入是否正确
用个文本框,ID分别为txtYear,txtMonth,txtDate;
检验按钮的代码为:
privatevoidbtnCheck_Click(objectsender,System.EventArgse)
intyear,month,date;
//先把输入的字符转成int类型,如果非数字型,
//会触发错误
try
year=Convert.ToInt32(txtYear.Text);
month=Convert.ToInt32(txtMonth.Text);
date=Convert.ToInt32(txtDate.Text);
catch
labCheckInfo.Text="
输入的是非数字字符。
return;
//如果第一步检验合格,就把输入的数字转化为日期格式
//如果不符合日期格式即引发错误
DateTimedt=newDateTime(year,month,date);
输入的数字不符合日期格式"
输入正确"
嗯,补充一下,关于StringBuider
在处理字符串的时候很多人喜欢+=,其实对于string来说,一旦定义了就无法更改了
所谓的+只是新建的一个新的string变量并赋值
所以对于尽量使用StringBuider的Append的方法,这样将大量的节省服务器的资源
第三天
掌握下拉列表框的用法,并理解AutoPostBack属性;
理解IsPoskBack及用法;
初识DataTable的增加列、行,与下拉列表框绑定的方法。
今天的内容稍多些,而且涉及一些比较常用的,如IsPostBack及DataTable的基本用法。
知识点:
IsPostBack:
在页面onLoad之间是false值,而当从服务器回传后,该值变为true。
当页面中的Button或ImageButton等触发事件,都会把表单回传到服务器,而返回时又会引发onLoad事件。
为了节省服务器资源,有些加载中需进行一次,而不需要在回传后多次发生,可以用!
IsPoskBack来作为条件,那么页面第一次加载后,以后就不会发生。
该属性可以帮助你提高程序的性能。
DataTable:
即数据表,.Net程序中最常用的类,特别是数据库开发中,没有该类的程序是不可想象的。
先做个小程序来练练手,很简单,就一个下拉菜单,取名dlstWeb。
在属性的Itmes选项中打开以下对话框,添加各项:
ASPX中的代码为:
<asp:
DropDownListid="
dlstWeb"
style="
Z-INDEX:
101;
LEFT:
32px;
POSITION:
absolute;
TOP:
32px"
runat="
server"
Width="
88px"
AutoPostBack="
True"
>
ListItemvalue="
>新浪</asp:
ListItem>
>搜狐</asp:
>网易</asp:
</asp:
DropDownList>
在下拉框的SelectedIndexChanged事件中的加入代码:
privatevoiddlstWeb_SelectedIndexChanged(objectsender,System.EventArgse)
<scriptlanguage=javascript>window.open("
+dlstWeb.Selectedvalue+"
</script>"
按F5运行,可是我们发现这下拉框选择时什么事也没发生。
原来原因是出在下拉框的AutoPostBack属性上,把它设为true后再试试,一切OK了。
下面我们增加些难度,下拉框中的内容很多情况下不是事先固定的,而是要动态添加。
这里设计是用一数据表DataTable与之联系起来。
另建一文件,按上添加一下拉框,取名dlstWeb,先设AutoPostPack为false,否则在刚启动而面就触发SelectedIndexChanged事件,弹出窗口就乱飞了。
在onLoad事件中添加代码,注意DataTable用法及IsPoskBack
DataTable属于System.Data命名空间,所以如果页面没预添加,可以自行增加这一行。
privatevoidPage_Load(objectsender,System.EventArgse)
//用IsPostBack判断,只在没有回传时才初始化
//这样可以防止每次刷新或回传时,都执行一次以下代码
//可以节省服务器的资源了。
if(!
IsPostBack)
DataTabledt=newDataTable();
DataRowdr;
//在表中增加字段
dt.Columns.Add("
WebName"
typeof(string));
WebUrl"
//表中增加行
dr=dt.NewRow();
dr["
]="
新浪"
"
dt.Rows.Add(dr);
网易"
搜狐"
//把表与下拉菜单绑定数据
dlstWeb.DataSource=dt;
dlstWeb.DataTextField="
dlstWeb.DatavalueField="
dlstWeb.DataBind();
//开始时就把下拉菜单的AutoPostBack设为false,
//防止一开始就乱跳出网页来
dlstWeb.AutoPostBack=true;
下面的事件与前面一模一样了
小结:
今天的一些知识非常重要,为了理解,程序的难度并不高。
但这是以后程序设计的基础,所以这些你一定要掌握。
VB.NET增加字段代码稍有不同,如下:
GetType(String))
每四天
学习ADO.NET用法,并如何用DataRearder读取数据
今天练习数据库的最基本用法,如何打开数据库。
首先在网站设置文件web.config文件的<configuration>下方加入以下节点:
<configuration>
<appSettings>
<addkey="
数据库1"
value="
ex01.mdb"
/>
</appSettings>
……
该节点设置了数据库的路径,这样就可以很方便的调用数据库文件了,调用方法为:
Server.MapPath(ConfigurationSettings.AppSettings["
])
这是ASP.NET程序的通用方法,以后介绍的SQLSERVER数据库也是在此设置的。
好开始做程序,首先在CS文件的头部加入:
usingSystem.Configuration;
usingSystem.Data.OleDb;
usingSystem.Text;
以下在Page的Load事件中,读取ACCESS数据库,并用表格显示出来:
StringBuildersbTable=newStringBuilder();
//用于输出表格的语句
stringstrConnection="
Provider=Microsoft.Jet.Oledb.4.0;
DataSource="
+Server.MapPath(ConfigurationSettings.AppSettings["
//连接数据库的语句
OleDbConnectionconn=newOleDbConnection(strConnection);
//建立DbCommand对象
OleDbCommandcmd=conn.CreateCommand();
cmd.CommandText="
SELECT*FROMBook"
//打开数据库
conn.Open();
//用DataReader读取数据
OleDbDataReaderdr=cmd.ExecuteReader();
sbTable.Append("
<tablecellSpacing="
0"
cellPadding="
border="
1"
><tr>"
<td>书名</td><td>作者</td><td>单价<td></tr>"
while(dr.Read())
<tr><td>"
sbTable.Append(dr["
BookTitle"
].ToString());
</td><td>"
Author"
UnitPrice"
</td><tr>"
</tr></table>"
//记住dr用毕必须关闭,否则会阻塞服务器
dr.Close();
//DbConnection是受托管的,可以不关闭
//但为良好的编程习惯,应该关闭
conn.Close();
Response.Write(sbTable.ToString());
显示结果
第五天
掌握ADO.NET打开SQLSERVER数据库的方法。
今天做个非常普通的例子,做一个用户登录框。
主要是通过这个练习认识一下SQLSERVER数据库的连接方法。
和昨天的例子方法基本相同,很容易掌握的。
先建立SQLSERVER数据库,库名为AspNetABC,并建立一Member新表,建表SQL如下:
CREATETABLE[dbo].[Member](
[MemberID][int]IDENTITY(1,1)NOTNULL,
[MemberName][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Password][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Gender][bit]NOTNULL,
[Birthday][datetime]NULL,
[Email][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
ALTERTABLE[dbo].[Member]WITHNOCHECKADD
CONSTRAINT[PK_Member]PRIMARYKEYCLUSTERED
(
[MemberID]
与上一例子差不多,在web.config文件中再增加一行:
SqlDatabase1"
datasource=localhost;
userid=sa;
password=sa;
initialcatalog=AspNetABC;
ConnectTimeout=30"
在面中添加二个文本框,txtMemberName、txtPassword,并设置txtPassword的TextMode为Password。
设置按钮btnLogin。
btnLogin的事件代码如下:
privatevoidbtnLogin_Click(objectsender,System.EventArgse)
//先检验输入正确性
if(txtMemberName.Text==String.Empty||txtMemberName.Text.Trim()=="
)
<scriptlanguage=javascript>alert("
帐号不能为空"
)</script>"
if(txtPassword.Text==String.Empty||txtPassword.Text.Trim()=="
没有输入密码"
stringstrConnection=ConfigurationSettings.AppSettings["
];
stringsqlMember="
SELECTMemberName,[Password]FROMMember"
+"
WHEREMemberName="
+txtMemberName.Text.Trim()+"
AND[Password]="
+txtPassword.Text.Trim()+"
//连接SqlServer数据库
SqlConnectionconn=newSqlConnection(strConnection);
//建立SqlCommand
SqlCommandcmd=conn.CreateCommand();
cmd.CommandText=sqlMember;
//建立DataReader
SqlDataReaderdr=cmd.ExecuteReader();
//判断DataReader是否为空记录
if(dr.HasRows)
+txtMemberName.Text+"
欢迎你!
else
找不到该会员,或密码错误。
//千万不要忘记关闭DataReader
好了,一个非常简单的登录框做好了。
当然在实际程序中还应加入跳转等,这个就留给你做了
第六天
学习目的
掌握如何用ADO.NET插入新的记录
我们学得好快,今天做一个简易的新闻发布网页,可以说是个演示型的,只是让大家能理插入数据的最主要步骤。
掌握今天的内容,我们就有基础可以做一个稍有实用的新闻程序了。
为了不使注意力分散,程序没有加入输入的验证,很快我会接下去写一个验证输入的方法。
仍用昨天的方法新建一数据表,SQL语句如下:
CREATETABLE[dbo].[NewsArticle](
[NewsArticleID][int]IDENTITY(1,1)NOTNULL,
[Title][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[SubTitle][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Content][ntext]COLLATEChinese_PRC_CI_ASNOTNULL,
[Writer][nvarchar](10)COLLATEChinese_PRC_CI_ASNULL,
[PubTime][datetime]NOTNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
ALTERTABLE[dbo].[NewsArticle]WITHNOCHECKADD
CONSTRAINT[DF_NewsArticle_PubTime]DEFAULT(getdate())FOR[PubTime],
CONSTRAINT[PK_NewsArticle]PRIMARYKEYCLUSTERED
[NewsArticleID]
GO
按昨天的方法加入头部的语句,在提交按钮中建立以下事件:
privatevoidbtnPublish_ServerClick(objec