A S PNET小 说网站Word下载.docx
- 文档编号:17720821
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:29
- 大小:1.13MB
A S PNET小 说网站Word下载.docx
《A S PNET小 说网站Word下载.docx》由会员分享,可在线阅读,更多相关《A S PNET小 说网站Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
引言
小说网站是现在网络体系不可缺少的一部分,对于小说的爱好者和作家,小说网站的内容至关重要。
传统纸质书籍成本高,更新不及时,无法长久保存,携带不方便等等缺点。
所以小说网站应该能够为读者提供充足的小说和快捷的查询手段,同时给作者带来便捷的更新管理体验。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对小说进行管理,具有着传统管理所无法比拟的优点.例如:
更新及时、检索迅速、查找方便、可靠性高、存储量大、保密性好、存储寿命长、成本低等。
这些优点能够极大地提高小说更新阅读效率,也是小说的科学化、正规化管理,与世界接轨的先进传播途径。
ASP.NET的前身ASP技术,是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。
同时,它能使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单,使A的基于应用的开发更加具体,和快捷。
而且它还是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。
ASP.net是目前最流行的Web应用程序开发工具之一。
它是一种功能强大、灵活易学的服务器脚本编程环境,它的源代码均可以在服务器端运行,运行的结果以HTML代码的形式输出到客户端。
利用ASP不仅可以快速创建交互性的动态网页,而且程序代码完全保密,更重要的是它不用考虑客户端使用何种浏览器。
网站项目设计
1.项目架构
1.项目架构
说明:
列出整个小说网web项目的文件夹架构体系,如下图所示
2.程序架构
2.所需Web.Config文件配置如下
<
?
xmlversion="
1.0"
>
!
--
注意:
除了手动编辑此文件以外,您还可以使用
Web管理工具来配置应用程序的设置。
可以使用VisualStudio中的
“网站”->
“Asp.Net配置”选项。
设置和注释的完整列表在
ments中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config中
-->
configuration>
<
appSettings/>
connectionStrings/>
system.web>
设置compilationdebug="
true"
将调试符号插入
已编译的页面中。
但由于这会
影响性能,因此只在开发过程中将此值
设置为true。
-->
compilationdebug="
assemblies>
addassembly="
System.Design,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B03F5F7F11D50A3A"
/>
/assemblies>
/compilation>
--
通过<
authentication>
节可以配置ASP.NET使用的
安全身份验证模式,
以标识传入的用户。
authenticationmode="
Windows"
如果在执行请求的过程中出现未处理的错误,
则通过<
customErrors>
节可以配置相应的处理步骤。
具体说来,
开发人员通过该节可以配置
要显示的html错误页
以代替错误堆栈跟踪。
customErrorsmode="
RemoteOnly"
defaultRedirect="
GenericErrorPage.htm"
errorstatusCode="
403"
redirect="
NoAccess.htm"
404"
FileNotFound.htm"
/customErrors>
httpHandlers>
addtype="
Vincent.AutoAuthCode.AuthCode,Vincent.AutoAuthCode,Version=1.5.0.0,Culture=neutral,PublicKeyToken=b633909bc009d6d9"
verb="
GET"
path="
AuthCode_Image.ashx"
validate="
false"
/httpHandlers>
/system.web>
/configuration>
3.数据库设计
数据库:
小说表
数据库:
小说分类表
关键词搜索表
用户表
用户权限
用户是否被封杀
数据库关系图
4.功能实现设计
数据库连接
相关代码如下:
privatestaticstringconnString="
server=.;
database=Mynovels;
uid=sa;
pwd=1234"
;
用户注册、登录及权限提取
首页:
注册:
注册成功提示
注册界面
publicstaticUserAddUser(Useruser)
{
stringsql=string.Format("
INSERTUsers(LoginId,LoginPwd,Name,UserRoleId,UserStateId)"
+
"
VALUES({0},{1},{2},{3})"
user.LoginId,user.LoginPwd,user.Name,user.UserRole.Id,user.UserState.Id);
try
{
intnewId=DBHelper.GetScalar(sql,CommandType.Text);
returnGetUserById(newId);
}
catch(Exceptione)
Console.WriteLine(e.Message);
throwe;
}
publicstaticvoidDeleteUser(Useruser)
DeleteUserById(user.Id);
publicstaticvoidDeleteUserById(intid)
stringsql=string.Format("
DELETEUsersWHEREId={0}"
id);
{
DBHelper.ExecuteCommand(sql,CommandType.Text);
throwe;
登录及权限提取:
登录窗口:
登录后:
普通用户登录后界面
管理员登陆后界面
#region通过用户名取得用户
publicstaticUserGetUserByLoginId(stringLoginId)
stringsql="
select*fromUserswhereLoginId='
"
+LoginId+"
'
intuserRoleId;
intuserStateId;
SqlDataReaderreader=DBHelper.GetReader(sql,CommandType.Text);
if(reader.Read())
Useruser=newUser();
user.Id=(int)reader["
Id"
];
user.LoginId=(string)reader["
LoginId"
user.LoginPwd=(string)reader["
LoginPwd"
user.Name=(string)reader["
Name"
userRoleId=(int)reader["
UserRoleId"
//FK
userStateId=(int)reader["
UserStateId"
reader.Close();
user.UserRole=UserRoleService.GetUserRoleById(userRoleId);
user.UserState=UserStateService.GetUserStateById(userStateId);
returnuser;
else
returnnull;
Console.WriteLine(e.Message);
权限提取:
if(user.UserRole.Id==1)
Session["
User"
]=user;
Response.Redirect("
~/Admin/AdminDefault.aspx"
);
Default.aspx"
管理员功能
管理用户:
publicstaticpartialclassUserStateService
publicstaticUserStateAddUserState(UserStateuserState)
stringsql=
INSERTUserStates(Name)"
VALUES(@Name)"
sql+="
;
SELECT@@IDENTITY"
SqlParameter[]para=newSqlParameter[]
{
newSqlParameter("
@Name"
userState.Name)
};
returnGetUserStateById(newId);
publicstaticvoidDeleteUserState(UserStateuserState)
DeleteUserStateById(userState.Id);
publicstaticvoidDeleteUserStateById(intid)
DELETEUserStatesWHEREId=@Id"
@Id"
id)
publicstaticvoidModifyUserState(UserStateuserState)
"
UPDATEUserStates"
SET"
Name=@Name"
WHEREId=@Id"
userState.Id),
DBHelper.ExecuteCommand(sql,CommandType.Text);
}
publicstaticIList<
UserState>
GetAllUserStates()
stringsqlAll="
SELECT*FROMUserStates"
returnGetUserStatesBySql(sqlAll);
publicstaticUserStateGetUserStateById(intid)
stringsql=string.Format("
SELECT*FROMUserStatesWHEREId={0}"
SqlDataReaderreader=DBHelper.GetReader(sql,CommandType.Text);
UserStateuserState=newUserState();
userState.Id=(int)reader["
userState.Name=(string)reader["
returnuserState;
privatestaticIList<
GetUserStatesBySql(stringsafeSql)
List<
list=newList<
();
try
{
DataTabletable=DBHelper.GetDataSet(safeSql,CommandType.Text);
foreach(DataRowrowintable.Rows)
UserStateuserState=newUserState();
userState.Id=(int)row["
userState.Name=(string)row["
list.Add(userState);
}
returnlist;
}
GetUserStatesBySql(stringsql,paramsSqlParameter[]values)
DataTabletable=DBHelper.GetDataSet(sql,CommandType.Text);
}
管理小说:
publicstaticvoidDeleteNovel(Novelnovel)
DeleteNovelById(novel.Id);
publicstaticvoidDeleteNovelById(intid)
DELETENovelsWHEREId={0}"
DBHelper.ExecuteCommand(sql,CommandTy
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PNET小 说网站 PNET 网站