我的asp.net web应用程序有一个HTML代码,当我按下按钮提交它调用一个函数来读取bd中的内容并将其加载到带有某些模板的html页面中,我想知道如何使用C#用mysql数据库中的动态HTML文件替换原始HTML文件中的静态数据。在我的代码中,我确实读取了输入文件,我确实创建了一个输出文件,如下所示:
StreamReader sr = new StreamReader("filepath/inputcv.html");
StreamWriter sw = new StreamWriter("filepath/outputcv.html");
这是我需要用我的数据库中的那个替换本段内容的代码的一部分
<div class="sectionContent">
<p>@1</p>
</div>
我看到了这段代码,我想这样做,但我不知道如何在其中编写查询
StreamReader sr = new StreamReader("path/to/file.txt");
StreamWriter sw = new StreamWriter("path/to/outfile.txt");
string sLine = sr.ReadLine();
for (; sLine; sLine = sr.ReadLine() )
{
sLine = "{" + sLine.Replace(" ", ", ") + "}";
sw.Write(sLine);
}
答案 0 :(得分:0)
可以将外部数据存储在文本文件,XML文件或数据库中,并将其用于动态更新HTML页面内容。澄清的第一个要求:什么将作为“动态”数据更新的“过滤器”,换句话说,代码的哪一部分将执行select语句的动态更新(在mySQL的情况下)?如果该语句保持不变,那么这意味着底层数据正在发生变化,但是控制DB中这些变化的是什么?页面更新的理想数据刷新率是多少?在进入实际代码之前,应先澄清这一点。
希望这会有所帮助。我最好的,AB
答案 1 :(得分:0)
以下是我根据您提供的内容提出的内容。如果这还不够,请评论更多细节。
string strHTMLPage = "";
string strNewHTMLPage = "";
int intStartIndex = 0;
int intEndIndex = 0;
string strNewDataToBeInserted = "Assumes you loaded this string with the
data you want inserted";
StreamReader sr = new StreamReader("filepath/inputcv.html");
strHTMLPage = sr.ReadToEnd();
sr.Close();
intStartIndex = strHTMLPage.IndexOf("<div class=\"sectionContent\">", 0) + 28;
intStartIndex = strHTMLPage.IndexOf("<p>", intStartIndex) + 3;
intEndIndex = strHTMLPage.IndexOf("</p>", intStartIndex);
strNewHTMLPage = strHTMLPage.Substring(0, intStartIndex);
strNewHTMLPage += strNewDataToBeInserted;
strNewHTMLPage += strHTMLPage.Substring(intEndIndex);
StreamWriter sw = new System.IO.StreamWriter("filepath/outputcv.html", false, Encoding.UTF8);
sw.Write(strNewHTMLPage);
sw.Close();