从SQL Server加载时,nvarchar字段的编码错误

时间:2014-07-29 12:02:39

标签: c# asp.net entity-framework encoding sql-server-2012

我的表格中包含MasName类型的列nvarchar(100)。我正在使用SQL Server 2012和Entity Framework 6来处理数据库。我有DetailsView,我总是绑定一个相关的记录:

<asp:DetailsView ID="masDetailView" runat="server" AutoGenerateRows="False"
SelectMethod="GetMas" UpdateMethod="UpdateMas" ItemType="NSMAS.DAL.Mas"
AutoGenerateEditButton="True">
<Fields>
<asp:TemplateField>
 <ItemTemplate>
  <asp:Label runat="server" ID="nameLbl" Text='<%#: Item.MasName %>'></asp:Label>
 </ItemTemplate>
 <EditItemTemplate>
  <asp:TextBox ID="nameEdit" runat="server" Text='<%#: Item.MasName %>'></asp:TextBox>
 </EditItemTemplate>
</asp:TemplateField>
<%--other columns--%>

绑定到标签nameLbl的文字正确显示:Hříběcí hory,但是当我点击自动生成的修改按钮时,文字被绑定到TextBox nameEdit(用于编辑条目),文字是:Hř&#237;běc&#237; hory

哪里可能有问题?我可以为所有记录修复此问题,还是必须为每个TextBox设置编码(我不知道如何在代码隐藏中绑定文本)

修改

所以我已将Text='<%#: Item.MasName %>'改写为Text='<%# Item.MasName %>',现在它可以正常工作了。有人告诉我,当我访问这样的数据时,在:之后使用<%#会更好,但我找不到任何关于这件事情的文章。

0 个答案:

没有答案