从数据库中检索html数据以创建页面

时间:2016-08-29 20:04:14

标签: c# html asp.net

我已将html文件存储在数据库中。现在我想使用cs文件获取数据并将其链接到我的视图页面。下面是我如何保存我的能力的例子。

我的数据库表包含两列( page_header,page_footer )。

page_header

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>

page_footer

<footer>
<table width="100%">
<tr>
<td>
Written by <a href="mailto:webmaster@example.com">Jon Doe</a>.<br>
Visit us at:<br>
Example.com<br>
Box 564, Disneyland<br>
USA
</td>
<td>
<a href="www.google.com">Visit our Site </a>
</td>
</footer>

我想将这些数据检索到我的aspx页面。任何人都可以帮助这样做。或者,如果有任何可用的演示,将有助于了解如何做到这一点。

如果此帖子无关,请不要降级。请告诉我,我会删除它。

2 个答案:

答案 0 :(得分:0)

这是您向用户提供特定于用户的信息的方式,而无需手动更新您所服务的每一页:

@RestController
@EnableAutoConfiguration
public class TestSpring {

    @RequestMapping("/hello")
    String hello() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(TestSpring.class, args);
    }

}

然后,在你的代码隐藏文件中:

<!DOCTYPE html>
<html>
<head>
<title runat="server">Page Title</title>
</head>
<body runat="server">
    <div id="welcomeDiv" runat="server"></div>
    <div id="dataDiv" runat="server">
         <datagridview id = "customerData" runat="server">
    </div>
</body>
</html>

答案 1 :(得分:0)

您似乎正在创建某种多租户系统,并且需要为每个租户进行少量自定义。

没有理由不在数据库中存储HTML模板 - 像Wordpress这样的CMS会做很多事情。但是,对于@ ShannonHolsinger而言,您应该确保数据库模式在normalized达到合理的范围。考虑将电子邮件地址,联系人姓名,地址和网站URL存储为单独的字段。

对于模板系统,有许多类型的选择。您应该探索一些,以便您可以选择最熟悉的或您的需求。但是,在每种情况下,请确保数据属性转义为HTML,或者您可以允许您的页面被接管。如果您只是将字符串粘贴在一起,例如使用InnerHtml,则有人可以将其名称输入为</div><script>ChangeTheEntirePageToWhatEverILike()</script></div><script>InjectInSomeCodeToSendFormDataToMySite()</script>,并且浏览器会将其视为您的代码而不是文本。

一种模板技术可能涉及客户端数据绑定。一些流行的库是Knockout和Angular 2.对于客户端数据绑定,您可以将变量引用放在可信的页眉和页脚HTML中,然后传递变量值以作为JavaScript数据绑定。换句话说,让浏览器合并所需的任何数据,而不是ASP.NET。