2011-07-21 185 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>