Я пытаюсь добавить функцию для кодирования текстовой области в мой оператор переключения Case, а также декодировать ее при отправке. Я подошел так же близко, как этот код ниже, но функциональная часть кодирования, похоже, была написана неправильно, согласно Visual Studio. Любая помощь будет принята с благодарностью!
Кодирование части кода -
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