[英]Retrieving html data from database to create a page
我已經將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頁面。 任何人都可以幫忙。 或者,如果有可用的演示,將有助於您理解如何進行演示。
如果此職位無關,請不要降級。 請告訴我,我將其刪除。
這是您如何向用戶獲取特定於用戶的信息,而不必手動更新您所服務的每個頁面:
<!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>
然后,在您的代碼隱藏文件中:
private void Form1_Load(object sender, EventArgs e)
{
//load name from db
Form1.Title = "Welcome back, Mr. "+customer.LastName;
welcomeDIV.InnerHtml = "<b>It's been "+customer.daysSinceLastVisit.ToString()+" days since you last visited! How are "+customer.wifeName+" and the boys?</b>";
customerData = loadDataGrid(customer.ID);
}
看來您正在創建某種多租戶系統,並且需要為每個租戶進行少量自定義。
沒有理由不將HTML模板存儲在數據庫中-諸如Wordpress之類的CMS可以做到很多。 但是,就@ShannonHolsinger而言,您應確保數據庫架構在合理的范圍內被規范化 。 考慮將電子郵件地址,聯系人姓名,地址和網站URL存儲為單獨的字段。
對於模板系統,有多種選擇。 您應該進行一些探索,以便選擇最適合自己或您的需求的一種。 但是,在每種情況下,請確保將數據的屬性轉義為HTML,否則您可以允許您的頁面被接管。 如果您只是將字符串粘貼在一起(例如使用InnerHtml
則有人可以輸入</div><script>ChangeTheEntirePageToWhatEverILike()</script>
或</div><script>InjectInSomeCodeToSendFormDataToMySite()</script>
將被瀏覽器視為您的代碼而不是文本。
一種模板技術可能涉及客戶端數據綁定。 一些流行的庫是Knockout和Angular2。對於客戶端數據綁定,您可以將變量引用放入受信任的頁眉和頁腳HTML中,然后將變量值作為JavaScript數據進行綁定。 換句話說,讓瀏覽器執行所需的任何數據合並,而不是ASP.NET。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.