我正在开发一个ASP.NET MVC3项目。
在基本更新页面中,我正在尝试将数据库中记录的数据显示为某些TextBoxFor
。但是,数据可以包含一些特殊字符,例如引用'
或重音字母,例如é
写作时
@Html.TextBoxFor(m => m.MyProperty)
显示的文字看起来像L'avée
而不是L'avée
。
我见过this question,但答案对我没有任何改变。
有没有办法在TextBoxFor
中用重音字母和引号显示我的字符串正确?
更新
此字段位于仅包含此字段的部分视图中:
@model MyApp.Models.SomeModel
<div class="form-group">
@Html.LabelFor(m => m.MyModel.Submodel.MyProperty)
@Html.TextBoxFor(m => m.MyModel.Submodel.MyProperty, new { @class = "form-control", @id = "txtMyProperty" })*@
</div>
在这里,SomeModel
被正确显示(相信我)。
SomeModel
具有MyModel
属性。 MyModel
有一个SomeModel
属性SomeModel
有一个MyField
字段。所有内容都由DB正确填充(相信我,它已经过测试和重新测试)。
但是,如果它有特殊字符,我无法正确显示MyField
。它会显示,但使用像'
答案 0 :(得分:2)
他在评论中提供的链接是正确的答案。
@Html.TextBox("test", HttpUtility.HtmlDecode(Model.MyProperty))
正常工作。
我的观点
@model MvcApplication1.Models.SomeModel
@{
ViewBag.Title = "title";
}
<h2>title</h2>
@{ Html.RenderPartial("Partial"); }
我的部分视图
@model MvcApplication1.Models.SomeModel
<div class="form-group">
@{
Model.MyProperty = System.Web.HttpUtility.HtmlDecode(Model.MyProperty);
}
@Html.LabelFor(m => m.MyProperty)
@Html.TextBoxFor(m => m.MyProperty, new { @class = "form-control", @id = "txtMyProperty" })
</div>
我的控制器
public class HomeController : Controller
{
public ActionResult Index()
{
SomeModel model = new SomeModel
{
MyProperty = "L'avée"
};
return View(model);
}
}