为什么ViewBag中的textBox值已损坏
本文关键字:已损坏 textBox 中的 ViewBag 为什么 | 更新日期: 2023-09-27 18:01:12
我正在用asp.net MVC 5做一个项目,我是新来的。在某个时刻,我从字节数组中检索一个字符串,并将其传递给ViewBag 查看
string content = System.Text.Encoding.UTF8.GetString(metadatacontent.content);
ViewBag.content = content;
我想在视图中编辑此字段。
@ViewBag.content // this line for checking
@Html.TextBox("metaData", (String)ViewBag.content)
我在网页上看到的是:日志文件(来自@ViewBag.content(l�o�g� �f�我�l�e�(文本框内(
为什么文本框中的字符串断开?如果有任何帮助,我将不胜感激。
谢谢。
编辑:在这里,我将View中的文本转换为byte[],并使用模型进行存储。
byte[] bytes = new byte[Request["metaData"].ToString().Length * sizeof(char)];
System.Buffer.BlockCopy(Request["metaData"].ToString().ToCharArray(), 0, bytes, 0, bytes.Length);
metadatacontent.content = bytes;
总结评论。因为您没有更改原始string
的默认格式,所以需要使用Unicode
编码而不是UTF-8
:
string content = System.Text.Encoding.Unicode.GetString(metadatacontent.content);