目录
1、vs2019每次运行一次项目之后,样式表的格式就算在vs2019上改变了,在浏览器中显示的还是以前的样式,所以应该如何修改
2、如何实现选择下拉框之后,显示所选择的这个类型的书籍的名称
3、如何实现点击首页显示的书籍,如何按照点击的名称,进入该书籍的相关内容呢
4、为什么数据库中的text类型的元素输入之后会显示全部都是?呢,要怎么调整才能解决这个问题
待解决问题
1、vs2019每次运行一次项目之后,样式表的格式就算在vs2019上改变了,在浏览器中显示的还是以前的样式,所以应该如何修改
在浏览器上按下 Ctrl + Shift + Delete 键或查找浏览器设置中的“清除浏览数据”选项来完成。
2、如何实现选择下拉框之后,显示所选择的这个类型的书籍的名称
- 添加获取书籍类型名称的 SQL 查询,并使用参数化查询来防止 SQL 注入攻击。
- 将获取到的书籍类型名称存储在
typeName
变量中。 - 在生成书籍列表的 HTML 代码之前,根据获取到的书籍类型名称构建了提示信息,并添加到了 HTML 代码中。
// 查询书籍类型名称string typeNameQuery = "SELECT name FROM BookType WHERE id = @selectedValue";SqlCommand typeNameCommand = new SqlCommand(typeNameQuery, myconnection);typeNameCommand.Parameters.AddWithValue("@selectedValue", selectedValue);string typeName = typeNameCommand.ExecuteScalar()?.ToString();// 生成书籍列表的 HTML 代码StringBuilder sb = new StringBuilder();sb.Append("<div class=\"book-list\">");if (!string.IsNullOrEmpty(typeName)){sb.Append("你所查询的 " + typeName + " 类型的书籍有:<br/>");}
总结来说就是使用另一个SQL server语句查询对应的书籍类型,然后输出,然后再继续后面的操作。
3、如何实现点击首页显示的书籍,如何按照点击的名称,进入该书籍的相关内容呢
这个就要在要显示的那一个网页进行设计了。即novel网页中,首先在要显示图书信息的位置添加一个占位符,然后在novel.aspx.cs文件中添加要实现的功能:
protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){// 检查是否传入了书籍 ID 参数if (Request.QueryString["id"] != null){// 获取传入的书籍 IDint bookId = Convert.ToInt32(Request.QueryString["id"]);// 获取连接字符串connectionString = ConfigurationManager.ConnectionStrings["ReadConnString"].ConnectionString;// 打开数据库连接connection.ConnectionString = connectionString;connection.Open();try{string query = "SELECT bookname as 书名, author as 作者, type as 书籍类型, laiiyuan as 来源, addtime as 添加时间 FROM books WHERE Id = @bookId";SqlCommand command = new SqlCommand(query, connection);command.Parameters.AddWithValue("@bookId", bookId);SqlDataReader myreader = command.ExecuteReader();// 显示书籍详细信息if (myreader.Read()){string bookName = myreader["书名"].ToString();string author = myreader["作者"].ToString();string type = myreader["书籍类型"].ToString();string laiYuan = myreader["来源"].ToString();string addTime = myreader["添加时间"].ToString();// 创建 Label 控件来显示书籍详细信息Label bookDetailsLabel = new Label();bookDetailsLabel.Text = "书名:" + bookName + "<br/>";bookDetailsLabel.Text += "作者:" + author + "<br/>";bookDetailsLabel.Text += "书籍类型:" + type + "<br/>";bookDetailsLabel.Text += "来源:" + laiYuan + "<br/>";bookDetailsLabel.Text += "添加时间:" + addTime + "<br/>";bookDetailsLabel.Attributes["style"] = "font-size: 25px;";// 将 Label 控件添加到 PlaceHolder 中bookListPlaceholder.Controls.Add(bookDetailsLabel);}myreader.Close();}finally{// 关闭数据库连接connection.Close();}}}}
这里我本来是想显示一下相应书籍的图片的,但是没有设置成功,先把基本的内容写完,再添加这些吧。
4、为什么数据库中的text类型的元素输入之后会显示全部都是?呢,要怎么调整才能解决这个问题
修改数据库字段类型:考虑将数据库中文本类型字段的类型从 text
修改为 nvarchar(max)
(如果是 SQL Server)或者适合你使用的数据库的等效类型。nvarchar(max)
支持 Unicode 字符,避免了字符集和编码问题。
待解决问题
?怎么调整文章显示的格式,使得其有空格有回车
?怎么修改使得文章名和章节名在第一行,内容在下面显示
?怎么实现在novel中点击开始阅读,进入阅读界面,然后开始阅读呢
首先肯定得先写个数据库来存储,然后至于怎么显示,就是一个问题。
?点击某个书籍,如果是跳转到一个新的网页,那书多了得写很多个网页,所以跳转的方式肯定不是直接跳转到某个固定页面,那么该如何实现跳转
?我想要实现跳转的是一个界面,只是编号不同,该怎么实现呢?(几种不同的书籍,好像可以通过UserControl实现。)
?不支持MasterPageFile="~/MasterPage.master"吗?为什么
?如何实现bookListPlaceholder这种方式下的
?如何使得DropDownList中的某个选择还能继续向下选