gpt4 book ai didi

asp.net-mvc-3 - 自定义 html 帮助程序中国际字符的 ASP.NET MVC3 razor 问题

转载 作者:行者123 更新时间:2023-12-02 12:25:50 24 4
gpt4 key购买 nike

我目前正在尝试将 ASP.NET MVC2 应用程序转换为 ASP.NET MVC3 razor。我有很多自定义 Html 帮助器方法,它们呈现 html 输出,如下所示,它呈现带有一些标记的按钮:

StringBuilder sb = new StringBuilder("<input type='submit' id='")
.Append(buttonId)
.Append("' name='" )
.Append(buttonId)
.Append("' value='")
.Append(buttonValue)
.AppendLine("' class='myclass1 myclass2' />");
return MvcHtmlString.Create(sb.ToString());

当buttonValue包含像é或ë这样的国际字符时,按钮的文本会渲染错误,我猜发生了某种编码......

例如。 ë 更改为 à

我知道,MVC3 为其 html 帮助程序使用某种模板系统,但由于我有很多自己的帮助程序,因此需要花费很多时间来了解这一点并更改我当前的所有自定义帮助程序。

最佳答案

问题解决了,显然它与 cshtml 文件的编码有关,这些文件是用一个小的 c# 程序生成的,该程序试图将 webform 语法转换为 razor 语法。在编写生成的cshtml文件时,如果忘记指定编码参数,则会导致cshtml文件的编码与原始aspx或ascx文件不同。我通过改变解决了这个问题

File.WriteAllText(filename,text) 

File.WriteAllText(filename, text,Encoding.Default)

关于asp.net-mvc-3 - 自定义 html 帮助程序中国际字符的 ASP.NET MVC3 razor 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4188798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com