基于javascript,C#开发网站博客

一.界面及功能
1.网站首页


基于javascript,C#开发网站博客_第1张图片
image.png

2.Layer弹出层:点击注册或登录在弹层进行注册或登录

基于javascript,C#开发网站博客_第2张图片
image.png

3.点击写文章进行写作文章,点击发表文章,叫文章保存并发表


基于javascript,C#开发网站博客_第3张图片
image.png

4.点击”我的文章”,只显示我自己发表过的文章


基于javascript,C#开发网站博客_第4张图片
image.png

5.我的文章可进行修改和删除


基于javascript,C#开发网站博客_第5张图片
image.png

点击删除,直接删除,点击修改跳转到文章修改界面


基于javascript,C#开发网站博客_第6张图片
image.png

6.当点击他人文章的文章时,可进行评论

基于javascript,C#开发网站博客_第7张图片
image.png
基于javascript,C#开发网站博客_第8张图片
image.png

7.点击管理员,打开管理登录员界面


基于javascript,C#开发网站博客_第9张图片
image.png
基于javascript,C#开发网站博客_第10张图片
image.png

二.项目结构


基于javascript,C#开发网站博客_第11张图片
image.png

基于javascript,C#开发网站博客_第12张图片
image.png

三.数据库设计:
共3张表:用户信息表,文章表,管理员信息表


基于javascript,C#开发网站博客_第13张图片
image.png

四.开发过程中问题及解决方法
1.layer弹出层中的取值和click事件


基于javascript,C#开发网站博客_第14张图片
image.png

解决方法:之前一直取不到值是因为,我的ajax请求没有写在弹出层里面

2.如何把数据库里的文章读取到客户端,并可以以href的形式把标题显示出来
解决方法:通过ajax请求接收后台查出来的所有文章列表,再在js中通过循环将每篇文章标题,加入标签中,并加入?id= (地址传参)

3.如果列表里有100片文章,难道要写100个html页面;
解决方法:地址传参(js代码提取后台传过来的文章列表时为每篇文章给一个id值)


image.png

image.png

4.如何让登陆过的用户才拥有评论的资格,问题的本质是如何判断网站用户是登陆用户,还是访问用户
解决方法:用session保存用户状态,每次需要判断用户的登录状态和需要用户名的相关操作时取出session值即可


基于javascript,C#开发网站博客_第15张图片
image.png

每次登录成功时,记录session值
需要用到时取出即可

image.png

5.“System.Data.Entity.Validation.DbEntityValidationException”类型的异常在 EntityFramework.dll 中发生,但未在用户代码中进行处理
其他信息: 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
其他信息: 指定的架构无效。错误:
Modelmain.msl(9,12) : 错误 2019: 指定的成员映射无效

解决办法:数据库主键id (int类型)设置为自增

6.数据库安全:MD5加密技术
引入:using System.Web.Security
String passwd = pawd1
String pawd2 = system.web.Security.FormsAuthentication.HashpasswordForStoringInConfigFile(passwd,”MD5”)

你可能感兴趣的:(基于javascript,C#开发网站博客)