2011-07-21 177 views
2

我使用ASP.net創建網站,如果您以管理員身份登錄,則可以編輯當前頁面文本(這種方式我不必一直更新網站只需稍作修改,我就可以在網上自己編輯頁面)。所有頁面數據都存儲在SQL數據庫表中。每個條目都是簡單的「ID」和「PAGECONTENT」。現在,我使用SQLDataSource來獲取數據並將其放到我的頁面上的FormView中。這一切都有效。我做了一個只有當我以網站管理員身份登錄時纔可見的按鈕。我需要做到這一點,當我點擊按鈕時,顯示頁面內容的文本標籤變成了TextArea供我編輯,然後我可以單擊「完成」按鈕並將它更新到數據庫表。我可以做更新部分,我只是不知道我應該如何以可編輯的方式顯示文本...編輯數據庫條目

回答

1

您需要一種稱爲富文本編輯器控件的東西。這會給你一個帶有工具欄等的Microsoft Word樣式界面,它會解析你存儲在數據庫中的html。

有很多免費的那裏。一個常用的是Ajax Control Toolkit中包含的一個。

您應該使用nuget將最新的Ajax Control Toolkit安裝到您的項目中。

有很多的教程在那裏解釋如何使用這個控件:

1

的POST場景:就像你有一個按鈕,是可見的,只有當你以網站管理員身份登錄,只有在單擊編輯按鈕時才能看到textarea,並在單擊完成按鈕時保存它。

一個好的做法是爲你的數據庫條目編輯一個專門的頁面,除非你使用的是ajax接口。從細節視圖切換到編輯視圖時,POST可能會變得複雜且不安全,並且在保存時會再次POST。這只是一個想法。

GET-then-POST方案:爲您的數據庫條目設置專門的編輯頁面。假設:/editpage.aspx?id=1。在該頁面上有一個完成按鈕,可以回發並保存您的工作。

祝你好運。

0

http://www.w3schools.com/aspnet/control_htmltextarea.asp

也許這是你在找什麼。

<script runat="server"> 
Sub submit(sender As Object, e As EventArgs) 
    p1.InnerHtml = "<b>You wrote:</b> " & textarea1.Value 
End Sub 
</script> 

<html> 
<body> 

<form runat="server"> 
Enter some text:<br /> 
<textarea id="textarea1" cols="35" rows="6" runat="server" value="PUT_YOUR_TEXT_HERE_to_prepopulate_the_Data" /> 
<input type="submit" value="Submit" OnServerClick="submit" runat="server" /> 
<p id="p1" runat="server" /> 
</form> 

</body> 
</html>