Остановить символы от кодирования в HTML из C# Code Behind - PullRequest
0 голосов
/ 18 февраля 2020

Привет и заранее спасибо. Я генерирую элементы управления из кода C# и хочу применить атрибут onclick, который будет отправлять модальное изображение для блокировки отображения. Когда код выполняется, апострофы в строке функции onclick кодируются в ', и я хочу остановить это и передать необработанный текст.

Я попытался решить эту проблему без разрешения:
\'
''
<%= myString %>
HtmlString(myString).ToHtmlString();

Там Вероятно, это другая итерация, которую я пробовал, но я потерял их всех.

Это раздел кода, создающий элемент управления:

HtmlGenericControl viewMoreInfo = new HtmlGenericControl("span");
//HtmlString onclick1 = new HtmlString($"document.getElementById('{i.il_itemcode}Modal').style.display = 'block'");
string onclick1 = $"document.getElementById('{i.il_itemcode}Modal').style.display = 'block'";
viewMoreInfo.Attributes["onclick"] = onclick1;
viewMoreInfo.Attributes["class"] = "w3-bar-item w3-button w3-white w3-xlarge w3-right";
viewMoreInfo.InnerText = "+";

Вот пример того, что он отображает как:

<span onclick="document.getElementById(&#39;TEST1Modal&#39;).style.display = &#39;block&#39;" class="w3-bar-item w3-button w3-white w3-xlarge w3-right">+</span>

Мне нужен апостроф для правильной визуализации, чтобы функция работала.

Любая помощь будет очень полезна.

1 Ответ

2 голосов
/ 18 февраля 2020

Ваш вопрос вводит в заблуждение, потому что «мне нужен апостроф для правильной визуализации, чтобы функция работала». это неверно. Обратите внимание на следующее, которое является точной копией вашего примера, и событие click работает так же хорошо, как и в данный момент.

<p id="TEST1Modal" style="display:none">This is hidden until clicked</p>
<span onclick="document.getElementById(&#39;TEST1Modal&#39;).style.display = &#39;block&#39;" class="w3-bar-item w3-button w3-white w3-xlarge w3-right">+</span>
...