• 0

ASP.NET WYSIWYG Editor...


Question

Good Day...

I'm in the middle of creating a CMS and for ease of use and addition of extended flexibility I've decided to give the option to allow editing of the content via a WYSIWYG editor.

Because I can use it freely until I finish the CMS (at which point it may be distributed for monies in which I'll need a distrobution license) I had decided to use John Dyers FreeTextBox (http://www.freetextbox.com). Not only is it free for personal use, but it includes a really sharp ImageGallery control and is faster than some of the others out there as well. Also worth mentioning, it's a fully encapsulated solution now... you don't need to copy IMAGES and JS files... only the DLL and everything is stored within it. That makes rollout NICE...

Anyway, I'm having some problems with it... using IE, goto http://joshandbrandi.com/post.aspx?PostID=1. The FTB control is at the bottom of the page. Within it "undefined" is displayed. Not only that, but if I change that and try to add anything it doesn't post correctly. I cannot figure out what's causing this.

The funny thing is that using FireFox the error DOES NOT show up and the control works fine!!! Does anybody have any ideas on this?

Link to comment
https://www.neowin.net/forum/topic/303693-aspnet-wysiwyg-editor/
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Nice try on the IE7 thing... I forgot I even had that in there. However, even after removing it, I'm still getting this wierd problem.

And since I'm not being shy... here's the page code... nice and simple you'll see...

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" ValidateRequest="False" Src="_global.vb" Inherits="Global" %>
<%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQLClient" %>
<script runat="server">

	Sub Page_Load()
  If NOT(Page.IsPostBack) Then
  	LoadPost()
  	LoadReplies()
  End If
	End Sub

	Sub LoadPost()
  dim strSQL as string = "SELECT PostID, Author, [Date], Header, Post FROM Post WHERE Approve=1 AND PostID=" & Request.QueryString("PostID")
  rptPost.Datasource = GetData(strSQL)
  rptPost.Databind()
	End Sub

	Sub LoadReplies()
  dim strSQL as string = "SELECT ReplyID, Author, [Date], Post FROM Reply WHERE PostID=" & Request.QueryString("PostID") & " ORDER BY [Date] ASC"
  rptReply.Datasource = GetData(strSQL)
  rptReply.Databind()
	End Sub

	Function CountReplies(ByVal PostID As String) As String
  dim strSQL as string = "SELECT COUNT(*) AS Replies FROM Reply WHERE PostID=" & PostID
  return GetScalar(strSQL)
	End Function

	Sub PostReply(ByVal Sender As Object, ByVal e As EventArgs)
  dim strSQL as string = "INSERT INTO Reply (PostID, [Date], Author, Post) VALUES (@PostID, @Date, @Author, @Post)"
  dim C as New SQLCommand(strSQL, Conn)
  With C.Parameters
  	.Add(New SQLParameter("@PostID",Request.QueryString("PostID")))
  	.Add(New SQLParameter("@Date",Now()))
  	.Add(New SQLParameter("@Author",Author.Text))
  	.Add(New SQLParameter("@Post",Reply.Text))
  End With
  PostData(C)
  LoadPost()
  LoadReplies()
	End Sub

</script>

<!--#include file="_header.inc" -->

<h1>Post And Replies</h1>

<asp:Repeater ID="rptPost" runat="server">
	<itemtemplate>
  <h2><%# DataBinder.Eval(Container.DataItem, "Header") %></h2>
  <span class="postinfo">by: <span class="postinfoaugment"><%# FormatEmail(DataBinder.Eval(Container.DataItem, "Author")) %></span> on 
  <span class="postinfoaugment"><%# AdjustTime(DataBinder.Eval(Container.DataItem, "Date")) %></span></span>
  <p><%# DataBinder.Eval(Container.DataItem, "Post") %></p>
  <p><a href="#reply">Reply To Post</a>: Currently there are <%# CountReplies(DataBinder.Eval(Container.DataItem, "PostID")) %> replies.</p>
	</itemtemplate>
</asp:Repeater>

<p> </p>

<h3>Replies...</h3>
<asp:Repeater ID="rptReply" runat="server">
	<itemtemplate>
  <p><span class="replyinfo">by: <span class="postinfoaugment"><%# FormatEmail(DataBinder.Eval(Container.DataItem, "Author")) %></span> on 
  <span class="postinfoaugment"><%# AdjustTime(DataBinder.Eval(Container.DataItem, "Date")) %></span> 
  &lt;a href="work.aspx?Type=Reply&Action=Delete&ID=<;%# DataBinder.Eval(Container.DataItem, "ReplyID") %&gt;" onclick="return smallWin(this.href);">&lt;img class="noborder" src="images/delete.gif" alt="Request Deletion" /&gt;
  &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
  &lt;%# DataBinder.Eval(Container.DataItem, "Post") %&gt;&lt;/p&gt;
	&lt;/itemtemplate&gt;
&lt;/asp:Repeater&gt;

&lt;p&gt; &lt;/p&gt;

&lt;a name="reply" id="reply"&gt;&lt;/a&gt;
&lt;form runat="server"&gt;
	&lt;div id="replybox"&gt;
  &lt;p&gt;Your Email Address: &lt;asp:TextBox ID="Author" runat="server" MaxLength="128" /&gt;&lt;/p&gt;
  &lt;p&gt;Your Reply:&lt;br /&gt;
  	&lt;FTB:FreeTextBox id="Reply" runat="server"
    ToolbarStyleConfiguration="Office2003"
    ToolbarLayout="bold,italic,underline,JustifyLeft,JustifyRight,JustifyFull,JustifyCenter,FontForeColorPicker,FontSizesMenu|cut,copy,paste,delete|bulletedlist,numberedlist|createlink,Unlink,InsertImageFromGallery,IeSpellCheck"
    BreakMode="Paragraph"
    ConvertHtmlSymbolsToHtmlCodes="True"
    DesignModeCss="_ftb.css"
    DownLevelMode="TextArea"
    DownLevelCols="100"
    DownLevelRows="10"
    EnableHtmlMode="False"
    FormatHtmlTagsToXhtml="True"
    PasteMode="Text"
    RemoveServerNameFromUrls="True"
    StripAllScripting="True"
    TabMode="InsertSpaces"
    Height="175"
    Width="100%"
  	/&gt;
  &lt;/p&gt;
  &lt;p&gt;&lt;asp:Button ID="btnPostReply" runat="server" Text="Submit" OnClick="PostReply" /&gt;&lt;/p&gt;
	&lt;/div&gt;
&lt;/form&gt;

&lt;!--#include file="_footer.inc" --&gt;

  • 0

Nothing stands out but

 ToolbarLayout=&amp; #34;bold,italic,underline,JustifyLeft,JustifyRight,JustifyFull,JustifyCenter,FontForeColorPicker,FontSizesMenu|cut,copy,paste,delete|bulletedlist,numberedlist|createlink,Unlink,InsertImageFromGallery,IeSpellCheck"

Looks like your using & #34; instead of " in the ToolbarLayout setting.

Also do you have the freetextbox jscripts ( i think there are 5 of them) in \aspnet_client\FreeTextBox directory?

  • 0

Neowin converted those to ASCII equivs... they're not like that in the code itself.

No, I don't have the scripts. This is version 3.0.3 and is fully self contained. Very nice actually. But do you see how it works in FF but not IE? This is freaking me out and I'm not getting ANYWHERE on the FTB forums... they're kinda dead at the moment.

  • 0

Try just putting the control in, no settings and see what happens. Like

&lt;FTB:FreeTextBox id="Reply" runat="server"/&gt;

If it works, slowly add each setting and see when the problem comes up.

  • 0

It still does it. I'm not sure exactly what happened... it worked at first, and then after adding the toolbaritems and other properties (I did all at once) it started messing up like that... but only in IE.

Am I the only one having this problem or does anybody else experience this too?

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Exactly! Without those fundamentals you've mentioned, Democracy is literally just Demonstration of Crazy, nothing to be proud of in such system.
    • Still I see almost no ads in mobile Edge unlike Chrome. So their browser is much better at blocking ads than Chrome and it is a fact. It even blocks ads on YouTube and you can add simple custom block filters. Also, Edge still support manifest v2 on desktop, so I'll look for another browser when I start seeing ads again.
    • Considering they consistently release a new version every year, I think it makes perfect sense. There is a minor pain point at the time of the change, so as long as they only change it once, we get over it and end up in a better place. The issue with MS' naming scheme is that they change their mind so frequently. 3.1, 95, 98, ME, 2000, XP, Vista, 7, 8, 8.1 10, there is no consistency. That was the issue, not the choice of naming the OS after the year. Minor correction: Windows 7 was 6.1. Even Windows 10 was version 6.4 at launch, but they retroactively changed it to 10.0 early on, along with an announcement that they would no longer track the kerel version and OS version separately...then proceeded to call Windows 11 version 10.0.2, so yeah, MS sucks at naming.
    • I don't think there is any problem with the two-digit number. Even if someone didn't understand the meaning, 26 > 18, so they will still understand at a glance that it is a newer version. The only downside I see is someone assuming 18 is a MUCH older than 26, but IMO, that confusion really isn't a big issue. The truth is that the majority of software companies use the 2-digit number; Microsoft is the outlier, and even they used 2-digit numbers in the past.
    • So, now it can give inaccurate answers and peddle lies in an even more human sounding voice? :)
  • Recent Achievements

    • First Post
      viraltui earned a badge
      First Post
    • Reacting Well
      viraltui earned a badge
      Reacting Well
    • Week One Done
      LunaFerret earned a badge
      Week One Done
    • Week One Done
      Ricky Chan earned a badge
      Week One Done
    • Week One Done
      maimutza earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      482
    2. 2
      +FloatingFatMan
      264
    3. 3
      snowy owl
      238
    4. 4
      ATLien_0
      231
    5. 5
      Edouard
      177
  • Tell a friend

    Love Neowin? Tell a friend!