Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Игнорировать html 
:(
    Опции темы
KuMa1104
Дата 11.12.2009, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Здравствуйте.
По совету форумчан на вопрос

Как вставить html блок в код страницы?
сделал  серверным див <div runat="server" id="test"> </div>
и в коде test.InnerText = присваиваю код.

Но!!
если в этом тексте присутствуют вот такие элементы
Код

<moi text

то он его не отобразит т.к. видимо считает это частью html разметки.

Есть какойто способ указать что
Код

<moi text
 
нужно считать текстом а не частью html разметки?


--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
RWander
Дата 11.12.2009, 18:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 3
Всего: 6



Попробуй так:

Код

test.InnerText = System.Web.HttpUtility.HtmlEncode("<moi text ...")


Это сообщение отредактировал(а) RWander - 11.12.2009, 18:22


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
KuMa1104
Дата 11.12.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Здравствуйте RWander
Спасибо.

Цитата(RWander @  11.12.2009,  18:16 Найти цитируемый пост)
test.InnerText = System.Web.HttpUtility.HtmlEncode("<moi text ...")


Но тогда он отображает его вот в это. И всётаки исходный вид данных теряеться а это плохо.
Код

&lt;moi&amp;nbsp;text

можно этого както избежать?

Добавлено через 6 минут и 15 секунд
на  выходе имеется строка
Код


<span  class = "stringLine"><moi text</span>

Где <span  class = "stringLine">  и соотвественно </span> нужно воспринемать как html разметку а <moi text как обычный текст. Но вместо этого Opera <moi text считает тоже за html  элнмент

Добавлено через 7 минут и 45 секунд
Есть ли способ как то пометить <moi text  чтоб он у меня воспринемался как текст?


--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
RWander
Дата 11.12.2009, 19:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 3
Всего: 6



что-то не совсем понял. Следующий код:
Код

<div runat="server" id="test"> </div>


уже присутствует в разметке в файле *.aspx, или ты его пытаешься генерировать на лету? Можешь показать *.aspx-файл и *.aspx.cs

Это сообщение отредактировал(а) RWander - 13.12.2009, 12:50


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
KuMa1104
Дата 11.12.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Цитата(RWander @  11.12.2009,  19:42 Найти цитируемый пост)
уже присутствует в разметки в файле *.aspx, или ты его пытаешься генерировать на лету?

Он уже присутствует.

Вот Взгляните.
Код

<div id = "Converter_conteiner">
    <div id="Converter_leftPart">
        <h1>Input Text</h1>
        <asp:FileUpload ID="FileUpload1" runat="server"  />
        <br />
        <asp:Button ID="OpenButton" runat="server" SkinID ="Converter_Button" 
            Text="Open File" onclick="OpenButton_Click" />
        <asp:Button ID="ConveretButton" runat="server" SkinID ="Converter_Button" Text="Convert-->>"
        onclick="Button1_Click" />
        <asp:TextBox ID="TextBox1" runat="server"  SkinID = "Converter_InputTextBox"  TextMode="MultiLine" Wrap="False"></asp:TextBox>
         <br />      
    </div>
    
    
    <div id="Converter_rightPart">
        <div  class ="Myscroll" id="ConverterDiv"  runat ="server" >
        
        </div>

    
    </div>
</div>

В <div  class ="Myscroll" id="ConverterDiv"  runat ="server" > вставляеться во время выполнения текст
Код

public partial class Control_Converter : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        CodeConverter Conv = new CodeConverter();
        //string st = Conv.ConvertSrring(TextBox1.Text);
        //ConverterDiv.InnerHtml = st;
        //TextBox1.Text = st;

        ConverterDiv.InnerHtml = Conv.ConvertSrring(TextBox1.Text);  
    }
    
    protected void OpenButton_Click(object sender, EventArgs e)
    {
        TextReader reader = new StreamReader(FileUpload1.PostedFile.InputStream);
        TextBox1.Text = reader.ReadToEnd();  
    }
}





--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
RWander
Дата 11.12.2009, 20:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 3
Всего: 6



Понял проблему.

Во-первых нужно сделать следующее: 
у страницы указать атрибут ValidateRequest="false". Но это опасно, так как возникает угроза так называемых html-инъекций на страницу, поэтому ты должен быть уверен, что пользователь не вставит какой-то вредоносный html-код или даже java-script.

Код

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
    ValidateRequest="false" %>


Во-вторых, когда выводишь текст в дивку нужно кодировать текст, как я писал раньше (в TextBox можно не кодировать):
Код

    protected void Button1_Click(object sender, EventArgs e)
    {
        //CodeConverter Conv = new CodeConverter();
        string st = "<moi text"; //Conv.ConvertSrring(TextBox1.Text);
        ConverterDiv.InnerHtml = System.Web.HttpUtility.HtmlEncode(st);
        TextBox1.Text = st;
        //ConverterDiv.InnerHtml = Conv.ConvertSrring(TextBox1.Text);
    }


собственно все smile 


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
KuMa1104
Дата 11.12.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Я вас понял.
Большое спасибо. Но ещё один вопрос.

Код

<span  class = "stringLine"><moi text </span>


когда я это подставляю в div согласно вашим инструкциям, то у меня в окне выводит

Код

<span  class = "stringLine"><moi text </span>
 
значит он и <span  class = "stringLine"> </span> тоже как текст воспринемает.
А можно сделать так чтобы <span  class = "stringLine"> </span> воспринемалось как  html разметка а все незаконченные элементы типа <moi text  как текст?



--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
tol05
Дата 12.12.2009, 00:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



можно так: в code-behind
Код

ConverterDiv.InnerHtml = Server.HtmlEncode("<table><tr><td></td></tr><table>");
ConverterDiv.InnerHtml = Server.HtmlEncode("<div class='Myscroll' id='ConverterDiv2' runat='server'></div>");




--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
KuMa1104
Дата 12.12.2009, 01:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Спасибо большое вот теперь я наконец понял как мне поступить.
Я заменю все вхождения <moi на &lt;moi

Спасибо tol05 Ваш пример стал той критической точкой когда я наконец понял.+

RWander Вам за проявленое терпение двоиное спасибо, без Вашего участия мне бы пришлось намного сложнее.++



 


--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.