-1

我的本地机器是土耳其语,如果我运行我的 asp.net 应用程序,我可以很容易地从 mysql 数据库中看到我的十进制值,如下所示。这是我的愿望,一切都是我想要的。我使用了“Text='<%#Eval("Veri","{0:N}")%>'”。它在我的本地运行良好,但如果我在下面发布它的结果。我想看到任何小数点,例如:

DB 我的本地 GridView 我的远程 GridView
234567 234.567,00 234,567.00
1234567 1.234.567,00 1,234,567.00


我的 GridView 代码:

  <asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="Veri">
                                        <ItemTemplate>
                                            <asp:TextBox ID="txtVeri" runat="server" MaxLength="16" Enabled="false" Text='<%#Eval("Veri","{0:N}")%>' CssClass="form-control input-sm" Style="width: 100%;"></asp:TextBox>
                                        </ItemTemplate>
                                    </asp:TemplateField>

这是我的 db 十进制数: 在此处输入图像描述 我很棒的结果:(我想要这个) 在此处输入图像描述

另一方面:如果我将我的 asp.net 应用程序发布给客户:(我不想要这个)

在此处输入图像描述

4

2 回答 2

1

使用下面的代码段,您可以在 GridView 开启的情况下为页面设置特定的数字格式设置,Page_PreInit而无需更改整个 UI 语言。这当然会影响页面上的所有数字格式,而不仅仅是 GridView。

protected void Page_PreInit(object sender, EventArgs e)
    {
        CultureInfo newCultureInfo = (CultureInfo)CultureInfo.CurrentCulture.Clone();
        NumberFormatInfo numberFormatInfo = (NumberFormatInfo)newCultureInfo.NumberFormat.Clone();
        numberFormatInfo.NumberDecimalSeparator = ",";
        numberFormatInfo.NumberGroupSeparator = ".";
        numberFormatInfo.NumberDecimalDigits = 2;
        newCultureInfo.NumberFormat = numberFormatInfo;
        System.Threading.Thread.CurrentThread.CurrentCulture = newCultureInfo;
    }
于 2016-10-12T08:38:11.413 回答
1

设置文化会让你过得更好。

这可以在 web.config 中的站点范围内、使用<globalization uiCulture="tr" culture="tr-TR" />元素或在 page 指令中的页面级别完成<%@ Page UICulture="tr" Culture="tr-TR" %>

于 2016-10-12T08:56:57.587 回答