将HTML页面中的静态数据替换为数据库中的动态数据

时间:2013-05-07 20:41:46

标签: c# asp.net html mysql

我的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);
        }

2 个答案:

答案 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();