ASP.NET网络控件在不同的区域性设置中呈现错误

ASP.NET网络控件在不同的区域性设置中呈现错误,asp.net,globalization,cultureinfo,asp.net-webcontrol,currentuiculture,Asp.net,Globalization,Cultureinfo,Asp.net Webcontrol,Currentuiculture,我有一个自定义的web控件 循环中的某些代码: double cellHeight = 12.34; Label dcell = new Label(); dcell.Style["height"] = cellHeight + "pt"; dcell.Text = cellHeight; 如果我使用CultureInfo(“cs-CZ”) 渲染之后,html出现了 <span style="height:11,75pt">11,75</span> 11,75 其

我有一个自定义的web控件

循环中的某些代码:

double cellHeight = 12.34;
Label dcell = new Label();
dcell.Style["height"] = cellHeight  + "pt";
dcell.Text = cellHeight;
如果我使用
CultureInfo(“cs-CZ”)

渲染之后,html出现了

<span style="height:11,75pt">11,75</span>
11,75
其实我所期望的是:

<span style="height:11.75pt">11,75</span> 
11,75

代码>高度:11、75 P</代码>在浏览器中呈现为完全错误,实际上浏览器不考虑<代码> 11、75 PT < /代码>为<代码> 但是,我需要根据区域性信息保持文本字段的显示:文本字段显示

11,75
,这是正确的


这就是问题所在-我如何修复?

您需要正确地将double转换为string,例如:

dcell.Style["height"] = cellHeight.ToString("F", CultureInfo.CreateSpecificCulture("eu-ES")) + "pt";
或者像这样:

NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
dcell.Style["height"] = cellHeight.ToString(nfi) + "pt";

再来一个。双宽度D=59.25;dcell.Width=新单位(widthd,UnitType.Point);然后呈现的html也是宽度59,25pt,如何避免它,看起来单位类通过区域性信息呈现值。但实际上它没有必要。
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalSeparator = ".";
dcell.Style["height"] = cellHeight.ToString(nfi) + "pt";