繁体   English   中英

这是您在 csharp 中正确编码 html textarea 的方式吗

[英]Is this how you properly encode html textarea in csharp

我正在尝试添加 function 以将文本区域编码到我的 Case switch 语句中,并在提交时对其进行解码。 我和下面的代码一样接近,但根据 Visual Studio,编码的 function 部分似乎写错了。 任何帮助将不胜感激,谢谢!

编码部分代码 -

case FieldType.EncodedTextarea:
        string encodedtextareaDefaultValue = this.Model.DefaultValue;
        if (!string.IsNullOrWhiteSpace(this.Model.FieldValue))
        {
            encodedtextareaDefaultValue = this.Model.FieldValue;
        }

        <textarea id="@this.Model.FieldKey" name="@this.Model.FieldKey" class="form-control hidden-print encoded" @Html.Raw(validationAttributes)
                  placeholder="@this.Model.PromptText" rows="5">@encodedtextareaDefaultValue</textarea>
        <span class="print-view">
            @encodedtextareaDefaultValue
        </span>

        <script type="text/javascript">
        function htmlEncode(str) {
        return string encoded = str.Replace('&', '&amp;').Replace(''<'', '&lt;').Replace(''>'', ''&gt;'').Replace('\', '&quot;'').Replace('''', '&apos;');
        }
        </script>
        break;

解码部分代码 -

$.each($('#recordForm input:not(:radio, :checkbox), #recordForm select, #recordForm textarea, .k-file-name'), function (i, v) {
            if (v.type !== 'submit') {
                if ($(v).hasClass('k-file-name')) {
                    data['FileName'] = $(v).text();
                }
                if(v.hasClass('encoded')){
                    data[v.name] = String(v.value).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;');
                }
                data[v.name] = v.value;
            }
        }); //end each

您可以使用 http 实用程序中提供的内置方法,例如 htmlencode 和 htmldecode。

当您提交文本框时,请检查其是否为空。 如果它不为空,则发送数据以提交 function 并进行 HTML 编码。 检索数据时使用 HTML 解码。 请参考以下链接。 https://docs.microsoft.com/en-us/dotnet/api/system.web.httputility.htmlencode?view=netcore-3.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM