[英]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('&', '&').Replace(''<'', '<').Replace(''>'', ''>'').Replace('\', '"'').Replace('''', ''');
}
</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, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
}
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.