• 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

    • That will be an interesting comparison. My guess is that the B580 will be the more powerful card, but due to less mature game support, may be slower in some titles. Right now, the B580 is a great budget option, but when it is the same price as the RTX 5050, I suspect many users will opt for the NVidia option if it is their choice. However, a lot of OEM systems are using the B580, so users who barely understand what a dGPU is, are probably going to be using the B580.
    • Google Earth is now 20 years old, brings historical Street View imagery by Aditya Tiwari Google is no longer a young company, and many of its products have been in existence for over two decades. Its "not an April Fools joke" email service turned 21 earlier this year, and now, Google Earth is celebrating its 20th birthday. The search giant announced that Google Earth is getting historical Street View imagery to celebrate the milestone. "Now, you can access historical Street View imagery right from Google Earth — and if you use Google Earth in a professional capacity, you can easily access new datasets, like tree canopy coverage for cities, land temperatures and more," Google said in a blog post. Google Earth is well-known for offering many internet users an interactive bird's-eye view of the world at a time when mapping apps weren't as advanced. It was launched in June 2005 and features 3D buildings across major US cities, integrated local search, and 3D terrains showing mountains, valleys, and canyons around the world. Users could activate, tilt, and rotate 3D terrain for a different perspective of a location. It was an instant hit after launch, with over 100 million downloads in its first week. Just months later, Google worked with the National Oceanic and Atmospheric Administration (NOAA) to make updated imagery available to first responders battling Hurricane Katrina. However, the tech that powers Google Earth is a bit older than that. It was initially developed as Earth Viewer by Keyhole Inc., which Google acquired in 2004 and later rebranded. Now accessible via web browsers and mobile apps, Google Earth was initially available as free-to-download desktop software for Windows, Mac, and Linux. The company also offered Google Earth Pro for $399 per year, but it was later made available for free. Google Earth in 2005 Google Earth differs from Google Maps, which also debuted in 2005. While Google Earth is more focused on exploration and research, its sibling is inclined towards finding real-time information and navigation. Google Earth is known for the flying animation that appears when you go from one place to another. Not just the Earth's surface, you can also explore the ocean floor, the Moon, and Mars (via desktop app). The virtual globe app has been used to discover a rare type of coral reef off the west coast of Australia, often referred to as "the rainforest of the sea." The 2016 movie Lion told the story of a man who used Google Earth to reunite with his mother 25 years after he got separated from his family. Google Earth has seen several new features over the past two decades, including VR support, distance measuring support, the ability to create virtual tours, and Timelapse. In 2017, the 'new Google Earth' added the "I'm Feeling Lucky" button and a discovery-focused feature called Voyager. Another redesign introduced in 2023 allows professionals to evaluate building and solar design options. A feature introduced last year allows users to view historical aerial imagery of places dating back up to 80 years.
    • whats this crap, looks ai generated and what is the point of the fake video tape effect 
    • You say that thinking you will be running Windows 10 IoT...you'll realize you will not be doing that once you install it for the first time and realize what it is (and more importantly, what it is not).
    • couple of things to check:  Try disabling Wi-Fi Power Saving or eco Mode in the TV’s settings Disable band steering or Smart Connect in your router’s 5 GHz settings and create separate SSIDs for 2.4 GHz and 5 GHz, then connect the TV to the 5 GHz SSID there might me interfere from neighbours wifi, try wifiman (android app) . scan to see if there are any overlaps and then adjust yours accordingly  try disabling ipv6 on both  
  • Recent Achievements

    • Week One Done
      Sharon dixon earned a badge
      Week One Done
    • Dedicated
      Parallax Abstraction earned a badge
      Dedicated
    • First Post
      956400 earned a badge
      First Post
    • Week One Done
      davidfegan earned a badge
      Week One Done
    • First Post
      Ainajohn earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      593
    2. 2
      ATLien_0
      222
    3. 3
      Michael Scrip
      170
    4. 4
      +FloatingFatMan
      152
    5. 5
      Som
      136
  • Tell a friend

    Love Neowin? Tell a friend!