动态网页复习题.docx
- 文档编号:29007239
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:16
- 大小:671.13KB
动态网页复习题.docx
《动态网页复习题.docx》由会员分享,可在线阅读,更多相关《动态网页复习题.docx(16页珍藏版)》请在冰豆网上搜索。
动态网页复习题
设计用户注册程序,要能实现合适的注册验证,并将用户注册信息写入会员表中
确定按钮的代码:
stringstrconn=ConfigurationManager.ConnectionStrings["SuperMarketConnectionString"].ConnectionString;
stringstrcomm="insertintoT_Vip(hy_Username,hy_Password,hy_Mobliephone,hy_Name,hy_Email,hy_Age,hy_QQ)values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox6.Text+"','"+TextBox4.Text+"','"+TextBox7.Text+"','"+TextBox5.Text+"','"+TextBox8.Text+"')";
SqlConnectionconn=newSqlConnection(strconn);
conn.Open();
SqlCommandcomm=newSqlCommand(strcomm,conn);
SqlDataReaderdr=comm.ExecuteReader();
conn.Close();
Response.Redirect("~/xx.aspx");
重置代码:
TextBox1.Text="";
TextBox2.Text="";
TextBox3.Text="";
TextBox4.Text="";
TextBox5.Text="";
TextBox6.Text="";
TextBox7.Text="";
TextBox8.Text="";
密码不能为空:
用RequiredFieldValidator控件
ErrorMessa里面写:
密码不能为空
二次密码相同
用CompareValidator控件
ControlToCompare写要进行比较的控件名
ControlToValidate要进行验证的控件;
ErrorMessage:
"密码不能为空!
年龄:
用RangeValidator控件
ErrorMessage="必须为16-18的整数"
MaximumValue="18"
MinimumValue="16"
Type:
integer;
姓名:
用RangeValidator控件
ErrorMessage=2-5个汉字!
"
MaximumValue="5"
MinimumValue="2"
Type:
string;
电话号码:
用RegularExpressionValidator控件
ValidationExpression:
"(\(\d{3,4}\)|\d{3,4}-)?
\d{7,8}"
手机号码:
用RangeValidator控件
ErrorMessage="必须为11位的整数"
MaximumValue="11"
MinimumValue="11"
Type:
integer;
QQ号:
用RangeValidator控件
ErrorMessage="为数字数"
Type:
integer;
邮件
RegularExpressionValidator控件
ValidationExpression:
"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ErrorMessage="符合邮件格式的"
建立用户登录应用程序。
要求:
实现能在会员表中读取到相应用户名和密码则显示登录成功,跳转到另一名为商品列表页,并1周内不需要登录。
设计用户登录应用程序,用户名和密码要求只能输入5~12个字母和数字。
当点击“登会员录”按钮后,从数据库中查找此用户,如果是合法用户,则定向到名为“warelist.aspx”的页,且在此页上显示欢迎此用户的信息;如果用户直接请求“warelist.aspx”的页,且没有登录验证或验证已过期,则返回登录页进行登录。
登录按钮:
stringstrconn=ConfigurationManager.ConnectionStrings["SuperMarketConnectionString"].ConnectionString;
stringstrcomm="selecttop1*fromT_Vipwherehy_Username=@hy_Usernameandhy_Password=@hy_Password";
SqlConnectionconn=newSqlConnection(strconn);
SqlCommandcomm=newSqlCommand(strcomm,conn);
comm.Parameters.Add("@hy_Username",SqlDbType.VarChar,20);
comm.Parameters["@hy_Username"].Value=TextBox1.Text.Trim();
comm.Parameters.Add("@hy_Password",SqlDbType.VarChar,20);
comm.Parameters["@hy_Password"].Value=TextBox2.Text.Trim();
conn.Open();
SqlDataReaderdr=comm.ExecuteReader();
DateTimet=DateTime.Now;
stringvipid="";
if(dr.Read())
{
vipid=dr["hy_VipID"].ToString();
Session["vipId"]=vipid;
}
else
{
Session["vipId"]=null;
}
dr.Close();
if(vipid!
="")
{
comm.CommandText="insertintoT_ShoppingCar(hy_VipID,Shop_Time)Values("+vipid+",'"+t.ToString()+"')";
comm.ExecuteNonQuery();
comm.CommandText="select*fromT_ShoppingCarwherehy_VipID="+vipid+"andShop_Time='"+t.ToString()+"'";
}
dr=comm.ExecuteReader();
if(dr.Read())
{
Session["carid"]=dr["Scar_ID"].ToString();
Response.Cookies["carid"].Value=dr["Scar_ID"].ToString();
Response.Cookies[""].Expires=DateTime.Now.AddDays(7);
}
dr.Close();
conn.Close();
if(Session["vipId"]!
=null)
{
Response.Redirect("~/warelist.aspx");
}
使用用户注册控件进行用户注册,并使用提问-答复邮件取回密码方式修改注册密码。
注册用户
选择登录里面的CreateUserWizard控件
修改注册密码
选择PasswordRecovery控件
在网站—里面进行配置
首先检查数据库的连接。
然后在应用程序里面—SMTP里面设置—服务器名163的邮箱是。
用户名密码根据自己的填写
创建教师、学生和管理角,每一角色创建2个用户,建立教师、学生和管理员页,并经验证后将相应页浏览权限授予用户和角色。
创建角色并授予权限
在网站—里面进行配置
在安全里面创建角色
并创建管理工具
编写Web应用程序,向商品表中添加一条记录,商品内容要求使用WebEdit在线编辑器进行图文编排好后写入商品表中,并设置添加页的页追踪和出错后的默认页。
编写Web应用程序,向商品表中添加一条记录,商品内容要求使用freetextbox在线编辑器进行图文编排好后写入商品表中,并设置添加页的页追踪和出错后的默认页。
跟踪页
下载安装包FTBv3-3-1.zip
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"ValidateRequest="false"Trace="true"%>
出错后默认页
新建一个名为error.htm的文件
在web.config里
建立实现商品信息的浏览、更新和添加功能的Web应用程序,并显示在线人数和网站的访问次数。
用gridview和formview的结合:
配置2个datasource
Datasource1:
选择T_ware表所有*选项,高级选项中添加insert、delete、update语句
Datasouse2:
选择T_waretype表所有*选项
Gridview用datasource1
在更新的时候商品类别选择数据源Datasouse2
代码的编写在书上P126-P130页
建立Web应用程序,实现商品信息的浏览和分页功能,并显示在线人数和网站的访问次数。
分页
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
bind();
}
}
voidbind()
{
stringstrconn=ConfigurationManager.ConnectionStrings["SuperMarketConnectionString"].ConnectionString;
stringstrcomm="SELECT[sp_WareID],[sp_WareName],[sp_Allsum],[sp_SellSum],[sp_Price],[sp_WareImage]FROM[T_Ware]";
SqlConnectionconn=newSqlConnection(strconn);
DataSetdataset=newDataSet();
SqlDataAdapterda=newSqlDataAdapter(strcomm,conn);
da.Fill(dataset,"sp");
PagedDataSourcepds=newPagedDataSource();
pds.DataSource=dataset.Tables["sp"].DefaultView;
pds.AllowPaging=true;
pds.PageSize=6;
pds.CurrentPageIndex=CurrentPage()-1;
DataList1.DataSource=pds;
DataList1.DataBind();
Label1.Text="第"+Convert.ToString(pds.CurrentPageIndex+1)+"页";
Label2.Text="共"+Convert.ToString(pds.PageCount)+"页";
intpage=CurrentPage();
if(!
pds.IsFirstPage)
{
HyperLink1.NavigateUrl="~/gengduo.aspx?
Page="+(page-1);
}
if(!
pds.IsLastPage)
{
HyperLink2.NavigateUrl="~/gengduo.aspx?
Page="+(page+1);
}
}
publicintCurrentPage()
{
if(Request["Page"]!
=null)
{
returnConvert.ToInt32(Request["Page"].ToString());
}
else
{
return1;
}
}
在线人数和总访问人数
protectedvoidPage_Load(objectsender,EventArgse)
{
Literal1.Text=Application["dangqiancount"].ToString();
Literal2.Text=Application["totalcount"].ToString();
}
新建Global.Asax文件
voidApplication_Start(objectsender,EventArgse)
{
Application.Lock();
Application["dangqiancount"]=0;
Application["totalcount"]=0;
Application.UnLock();
//在应用程序启动时运行的代码
}
voidSession_Start(objectsender,EventArgse)
{
//在新会话启动时运行的代码
Application.Lock();
Application["dangqiancount"]=Convert.ToInt32(Application["dangqiancount"])+1;
Application["totalcount"]=Convert.ToInt32(Application["totalcount"])+1;
Application.UnLock();
}
voidSession_End(objectsender,EventArgse)
{
//在会话结束时运行的代码。
//注意:
只有在Web.config文件中的sessionstate模式设置为
//InProc时,才会引发Session_End事件。
如果会话模式设置为StateServer
//或SQLServer,则不会引发该事件。
Application.Lock();
Application["dangqiancount"]=Convert.ToInt32(Application["dangqiancount"])-1;
Application.UnLock();
}
建立Web应用程序。
要求:
实现商品信息的分页浏览功能,当点击“详细”后,打开显示此商品详细信息名为“detail.aspx”的页,并将“detail.aspx”输出缓存20秒钟,并显示在线人数和网站的访问次数。
分页和上面一样
详细页
在详细的上面选择databinding
在PostBackUrl
代码表达式中写Eval("sp_WareID","~/detail.aspx?
spid={0}")
缓存
在当前页面的源里面加
<%@OutputCacheLocation="Server"Duration="20"%>
在线人数和总访问人数和上面一样
建立default.aspx页,当单击“建立”按钮后,建立一应用程序数据缓存项,其依赖于数据库的T_Ware表,缓存时间为20秒;当单击“显示”按钮后,将缓存项所存T_Ware商品表的商品名称、商品单价和商品数量在GRIDVIEW1控件中显示;当单击“修改”后,将数据库中的T_Ware表的第一条记录的单价修改成为所输入的数值,且数据缓存项的值自动修改,并显示在线人数和网站的访问次数。
新建GRIDVIEW1
数据库缓存项按钮
stringstrconn=ConfigurationManager.ConnectionStrings["SuperMarketConnectionString"].ConnectionString;
stringstrcomm="select*fromT_Ware";
SqlConnectionconn=newSqlConnection(strconn);
DataSetdataset=newDataSet();
SqlDataAdapterda=newSqlDataAdapter(strcomm,conn);
da.Fill(dataset);
System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications(strconn);
SqlCacheDependencyAdmin.EnableTableForNotifications(strconn,"T_Ware");
Cache.Insert("sqlds",dataset,newSqlCacheDependency("mydb","T_Ware"),Cache.NoAbsoluteExpiration,newTimeSpan(0,0,20),CacheItemPriority.Low,newCacheItemRemovedCallback(sqlCacheCallBack));
显示数据
if(Cache["sqlds"]!
=null)
{
GridView1.DataSource=((DataSet)Cache["sqlds"]).Tables[0].DefaultView;
GridView1.DataBind();
}
else
{
GridView1.DataSource=null;
GridView1.DataBind();
}
修改按钮
if(Cache["sqlds"]!
=null)
{
stringstrconn=ConfigurationManager.ConnectionStrings["SuperMarketConnectionString"].ConnectionString;
stringstrcomm="select*fromT_Ware";
SqlConnectionconn=newSqlConnection(strconn);
DataSetsqlds=newDataSet();
SqlDataAdapterda=newSqlDataAdapter(strcomm,conn);
SqlCommandBuilderbuilder=newSqlCommandBuilder(da);
sqlds=(DataSet)Cache["sqlds"];
if(sqlds.Tables[0].Rows.Count>0)
{
sqlds.Tables[0].Rows[0]["Sp_Price"]=Convert.ToInt32(TextBox2.Text.Trim());
}
da.Update(sqlds);
在线人数和访问人数如上
}
建立一个Web应用程序,当单击名为“download.aspx”页上的“下载”按钮后,将App_Data目录中名“image”子目录中的“电子产品.jpg”图片下载下来(不允许显示该图片)。
新建一个Linkbutton按钮双击按钮
FileStreamstream=newFileStream(Server.MapPath("~/image/电子产品.jpg"),FileMode.Open,FileAccess.Read,FileShare.Read);
FileInfofile=newFileInfo(Server.MapPath("~/image/电子产品.jpg"));
//stringstrfilename=Server.UrlEncode(file.Name).Replace("+","");
longfilelength=file.Length;
intsize=102400000;
byte[]buffer=newbyte[size];
Response.AddHeader("content-disposition","attachment;filename="+file.Name);
Response.ContentType="application/octet-stream";
Response.AddHeader("content-length",filelength.ToString());
while(filelength>0)
{
if(Response.IsClientConnected)
{
intlength=stream.Read(buffer,0,size);
Response.OutputStream.Write(buffer,0,length);
Response.Flush();
Response.Clear();
filelength=filelength-length;
}
else
{
filelength=-1;
}
Response.Close();
}
建立Web应用程序的安装发布包,要求:
将数据库打包进安装包。
生成—发布网站(将网站放入你新建的文件夹中,并将数据分离打包放入其中)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 网页 复习题