【问题标题】:How to display words with accented characters in HTML input inside an ASP.NET MVC View如何在 ASP.NET MVC 视图中的 HTML 输入中显示带有重音字符的单词
【发布时间】:2020-07-30 14:21:37
【问题描述】:

我正在尝试使用viewbag 将法语单词从Controller 传递到View我尝试传递的单词是: Espèce),但是在view 中,当我尝试将viewbag 值影响到 HTML input type text 时,我看到的只是:Espéce .

在控制器中

ViewBag.T = "Espèce";

在视图中:我使用了Jquery来影响值

$("#T").val("@ViewBag.T").focus();

HTML 输入

<div>

    <input type="type" id="T" value="" />

</div>

结果

【问题讨论】:

标签: html asp.net-mvc view controller


【解决方案1】:

看起来像是编码问题。我建议使用 UTF-8 来确保正确显示重音符号。

来自Microsoft ASP.NET documentation

要为所有页面设置编码,请向 Web.config 文件,然后设置它的 fileEncoding、requestEncoding 和 responseEncoding 属性,如下例所示:

<configuration>   
 <system.web>
   <globalization
      fileEncoding="utf-8"
      requestEncoding="utf-8"
      responseEncoding="utf-8"
      culture="en-US"
      uiCulture="de-DE"
    />   
 </system.web> 
</configuration> 

【讨论】:

  • 没有变化兄弟我试过这个但没有变化,请其他帮助吗?
【解决方案2】:

试试下面的 jquery 代码,它会像你预期的那样工作。但它可能会引入 XSS 漏洞。可以参考link

$("#T").val($("<div/>").html("@ViewBag.T").text()).focus();

【讨论】:

  • 看起来您链接的问题中还有另一个答案可以解决这个问题,但没有安全漏洞:stackoverflow.com/a/1395954/3712532
  • 希望这个答案解决了您的问题。
猜你喜欢
  • 2011-08-29
  • 2013-11-27
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多