停止C#代码后面的HTML编码中的字符

问题描述 投票:0回答:1

你好,谢谢你。我正在从后面的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>

我需要撇号来正确呈现该功能才能正常工作。

任何帮助都将非常合适。

c# html code-behind
1个回答
0
投票

您的问题具有误导性,因为“我需要撇号才能正确呈现该功能才能正常工作。”是不正确的。请注意以下内容与您的示例完全相同,并且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>
© www.soinside.com 2019 - 2024. All rights reserved.