在asp:BoundField上切换HtmlEncode

时间:2017-09-11 21:33:37

标签: javascript c# asp.net

标题非常自我解释。我有两个绑定字段,我想用一个函数(js或c#)切换它们。但我不确定他们没有ID元素。

这是我的代码:

<asp:BoundField DataField="FieldOldValue" HeaderText="FieldOldValue" HtmlEncode="false"/>
<asp:BoundField DataField="FieldNewValue" HeaderText="FieldNewValue" HtmlEncode="false"/>

<label class="switch">
  <input id="htmlToggle" type="checkbox" onclick="toggleHTML()">
  <span class="slider round"></span>
</label>

理想情况下,JS看起来像这样:

function toggleHTML() {
  if('htmlToggle'.checked) //render HTML (HtmlEncode="false")
  else //un-render HTML (HtmlEncode="true")
}

这些字段最初会显示原始html,当你点击切换时,两个字段都会呈现html。

更新:我可能已经接近解决这个问题,但实际上还没有让它发挥作用(我正在尝试使用asp:Button或toggle)。这是一些代码:

目前正在尝试使用按钮:

<asp:Button runat="server" text="Swap" ID="htmlToggle2" class="btn" OnClick="SwapHTML"/>

C#:

protected void SwapHTML(object sender, EventArgs e)
        {
            if (((BoundField)GridView2.Columns[2]).HtmlEncode.Equals(false))
            {
                ((BoundField)GridView2.Columns[2]).HtmlEncode = true;
                ((BoundField)GridView2.Columns[3]).HtmlEncode = true;
            }
            else
            {
                ((BoundField)GridView2.Columns[2]).HtmlEncode = false;
                ((BoundField)GridView2.Columns[3]).HtmlEncode = false;
            }
        }

0 个答案:

没有答案