• 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

    • KataLib 4.5.3.0 by Razvan Serea KataLib is more than just a music player — it's a complete audio suite designed for music lovers and creators alike. It combines a powerful audio player, a flexible metadata editor, a capable audio converter, and a music library manager into one streamlined application. Core Features: Audio Player Enjoy seamless playback of virtually any audio format or even streaming video files. DJ Mode lets you mix tracks with manual or automatic crossfades. You can also load and save WinAmp-style playlists for quick access to your favorite sets. Audio Converter Convert between a wide range of audio formats effortlessly. Trim or normalize your output automatically, and even extract audio from streaming video sources. Ideal for preparing files for different devices or platforms. Metadata Editor View and edit ID3v2 tags and other metadata. Batch edit multiple files at once, and fetch missing information directly from the MusicBrainz database. You can also apply or update album art with ease. Music Library Manager Organize your entire audio collection, search across tracks instantly, and download cover images from the internet — or use your own custom artwork. KataLib makes it easy to keep your library tidy and enriched with useful info. Supported Formats: KataLib supports a wide range of both lossy and lossless audio formats: Input: OPUS, AAC, FLAC, M4A, MP3, MP4, MPC, APE, AIF, MKV, AVI, MOV, FLV, WEBM, Ogg Vorbis, WAV, WAVPack, WMA Output: OPUS, FLAC, M4A, MP3, Ogg Vorbis, WAV Under the hood, KataLib uses the trusted FFmpeg engine for audio conversion and media playback, ensuring compatibility with virtually all mainstream media formats. Download: KataLib 4.5.3.0 | 64.5 MB (Open Source) Links: KataLib Home Page | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I had this issue and it is a nova android conflict issue. Initially the only way to fix it was clicking the screen off and then back on. Figured out it was because of a task I set up in tasker to load certain apps when I connect to my car, so fixed it by adding a 'go home' task after the app loaded and rarely have the issue now
    • I wish one of the windows updates hadn't broken glass. Is there a workaround for that I'm not aware of?
    • OpenAI announces o3 Pro, its most intelligent reasoning model by Pradeep Viswanathan OpenAI today announced o3-pro, its flagship reasoning model that uses more compute to "think harder" and provide consistently better answers. This new model will be replacing o1-pro in ChatGPT since it consistently performs better in math, science, and coding. To help everyone make the most out of the model, o3-pro supports tool calling. So, based on the user prompt, the model can do a web search, analyze files, reason about visual inputs, use Python, personalize responses using memory, and more. This is a big improvement over o1-pro, which lacked access to tools. But the downside is that o3-pro will take more time to respond. OpenAI recommends users use o3-pro in cases where reliability matters more than speed. According to OpenAI's evaluations, users consistently preferred o3-pro's responses over o3 in key domains like science, education, programming, business, and writing help. o3-pro was also rated consistently higher for clarity, comprehensiveness, instruction-following, and accuracy. The new o3-pro model is available in ChatGPT's model picker for Pro and Team. ChatGPT's Enterprise and Edu users will get access to this latest model next week. For developers, the o3-pro model comes with a 200,000 context window and is priced at $20 per million input tokens and $80 per million output tokens. OpenAI recommends developers use background mode with o3-pro to prevent timeouts. And the model has a May 31, 2024 knowledge cutoff. The OpenAI team also noted the following as the current limitations of the o3-pro model: At the moment, temporary chats are disabled for o3-pro as we resolve a technical issue. Image generation is not supported within o3-pro—please use GPT-4o, OpenAI o3, or OpenAI o4-mini to generate images. Canvas is also currently not supported within o3-pro. As OpenAI continues to refine its models, the balance between speed and reliability will likely remain a key consideration for users choosing the right tool for their needs.
  • Recent Achievements

    • Reacting Well
      rshit earned a badge
      Reacting Well
    • Reacting Well
      Alan- earned a badge
      Reacting Well
    • Week One Done
      IAMFLUXX earned a badge
      Week One Done
    • One Month Later
      Æhund earned a badge
      One Month Later
    • One Month Later
      CoolRaoul earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      541
    2. 2
      ATLien_0
      269
    3. 3
      +FloatingFatMan
      210
    4. 4
      +Edouard
      203
    5. 5
      snowy owl
      140
  • Tell a friend

    Love Neowin? Tell a friend!