Ajax HtmlEditorExtender проблемы с IE

Ресурсы: WebForm, VS 2010,.Net 4.0, SQL Server 2008 R2, IE 11 и Chrome 36.0.1985.125.

Веб-форма предназначена для создания уведомлений по электронной почте. Поэтому у меня есть textbox с ajax HtmlEditorExtender прикреплен к нему. После того, как пользователь добавляет / редактирует HTML-текст, который должен быть телом электронной почты, он сохраняется в varbinary(max) столбец в БД.

отлаживать

В режиме отладки я заметил, что когда пользователь нажимает кнопку "Сохранить" на форме, я получаю ошибку JS (хотя у меня вообще нет js-скрипта в форме!):

Ошибка JS в отладке

Эта ошибка происходит от HTMLEditorExtender как при удалении этого элемента управления, я больше не получаю никаких ошибок на странице при отправке формы. При нажатии "Продолжить" в режиме отладки я не получаю никакого другого неожиданного поведения, и текст сохраняется в БД в правильном формате HTML.

производство

Когда сайт публикуется, я получаю странное поведение (пользователь вводит следующий текст):ProdEnteredText перед отправкой

После того, как я нажму Сохранить в первый раз:После того, как я нажму сохранить первый раз

После того, как я несколько раз нажал кнопку "Сохранить", ничего не меняя в тексте:

Это происходит ТОЛЬКО в IE (протестировано в IE 11, я не знаю, то же самое в предыдущих версиях IE). В Google Chrome он работает нормально, но в моей компании единственным разрешенным браузером является IE, поэтому Chrome мне здесь не поможет.

Вот некоторые фрагменты кода:

Aspx:

  • управления:

    <td colspan="10" style="padding: 5px; margin: 5px; width:100%; overflow:auto;" >
    <asp:TextBox ID="tbBody" runat="server" Text="" TextMode="MultiLine" Rows="30" Columns="118" ></asp:TextBox>
    <br />
    <ajaxToolkit:HtmlEditorExtender ID="htmlEditorExtender1" runat="server"
        TargetControlID="tbBody" DisplaySourceTab="true"  >
        <Toolbar> 
            <ajaxToolkit:FontNameSelector />
            <ajaxToolkit:HorizontalSeparator />
            <ajaxToolkit:FontSizeSelector />
            <ajaxToolkit:Bold />
            <ajaxToolkit:Italic />
            <ajaxToolkit:Underline />
            <ajaxToolkit:StrikeThrough />                                                    
            <ajaxToolkit:JustifyLeft />
            <ajaxToolkit:JustifyCenter />
            <ajaxToolkit:JustifyRight />
            <ajaxToolkit:JustifyFull />
            <ajaxToolkit:InsertOrderedList />
            <ajaxToolkit:InsertUnorderedList />
            <ajaxToolkit:RemoveFormat />                                                    
            <ajaxToolkit:BackgroundColorSelector />
            <ajaxToolkit:ForeColorSelector />                                                    
            <ajaxToolkit:Indent />
            <ajaxToolkit:Outdent />
            <ajaxToolkit:InsertHorizontalRule />
            <ajaxToolkit:HorizontalSeparator />                                                    
        </Toolbar>
    </ajaxToolkit:HtmlEditorExtender>
    

  • страница:

    Язык страницы ="C#" AutoEventWireup="false" CodeFile="Notification.aspx.cs" Inherits="RulesManagement_Notification" Title="Уведомление" MasterPageFile="~/MasterPage.master" ValidateRequest="false"

    Зарегистрировать сборку = "AjaxControlToolkit" Namespace = "AjaxControlToolkit" TagPrefix = "ajaxToolkit"

CS:

  • метод save (при передаче текста в качестве параметра в БД):

    SqlParameter prmBody = new SqlParameter ("@ BODY", SqlDbType.NVarChar, -1); prmBody.Value = tbBody.Text; sqlSaveNotif.Parameters.Add (prmBody);

Из того, что я могу сказать, фактический текст текстового поля меняется каким-то странным поведением этого HTMLEE, но только в IE. Я открыт для использования любого другого элемента управления, который даст мне ту же функциональность, что и этот HTMLEE. Я пробовал элемент управления FreeTextBox, но не могу заставить его работать в IE, он работает только в Chrome:). Есть ли какой-нибудь готовый элемент управления (html или asp.net), который бы мне помог в этом случае? Если нет, как я могу заставить элемент управления HTMLee Ajax работать правильно в IE?

0 ответов

Другие вопросы по тегам