- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我拥有的一个类(class)的简化 View :
public class SalesMixRow
{
[DisplayFormat(DataFormatString = "{0:c0}")]
public decimal? DelSales { get; set; }
}
@Html.DisplayFor(model => model.DelSales)
void Main()
{
var model = new SmrDistrictModel
{
Title = "DFW",
SalesMixRow = new SalesMixRow
{
DelSales = 500m
}
};
Console.WriteLine(FollowPropertyPath(model, "Title"));
Console.WriteLine(FollowPropertyPath(model, "SalesMixRow.DelSales"));
}
public static object FollowPropertyPath(object value, string path)
{
Type currentType = value.GetType();
DisplayFormatAttribute currentDisplayFormatAttribute;
string currentDataFormatString = "{0}";
foreach (string propertyName in path.Split('.'))
{
PropertyInfo property = currentType.GetProperty(propertyName);
currentDisplayFormatAttribute = (DisplayFormatAttribute)property.GetCustomAttributes(typeof(DisplayFormatAttribute), true).FirstOrDefault();
if (currentDisplayFormatAttribute != null)
{
currentDataFormatString = currentDisplayFormatAttribute.DataFormatString;
}
value = property.GetValue(value, null);
currentType = property.PropertyType;
}
return string.Format(currentDataFormatString, value);
}
public class SmrDistrictModel
{
public string Title { get; set; }
public SalesMixRow SalesMixRow { get; set; }
}
public class SalesMixRow
{
[DisplayFormat(DataFormatString = "{0:c0}")]
public decimal? DelSales { get; set; }
}
最佳答案
您可以使用反射从类中检索属性。然后从属性中获取格式字符串,并使用 string.Format
应用它.
SalesMixRow instance = new SalesMixRow { DelSales=1.23 };
PropertyInfo prop = typeof(SalesMixRow).GetProperty("DelSales");
var att = (DisplayFormatAttribute)prop.GetCustomAttributes(typeof(DisplayFormatAttribute), true).FirstOrDefault();
if (att != null)
{
Console.WriteLine(att.DataFormatString, instance.DelSales);
}
System.ComponentModel.DataAnnotations.dll
,其中包含
DisplayFormat
属性。)
关于asp.net - 如何使用在控制台应用程序中应用的 DisplayFormat DataFormatString 输出属性(理想情况下按字符串查询对象)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443643/
我从数据库中有这个字段是: 数据类型:数值 (7, 3) 所以将允许最大数量 9999.99 进入数据库。 我输入号码 10.000 进入数据库,现在我正在使用以下方法从数据库中检索: 我指定:
我已经搜索并尝试以多种方式执行此操作(更改 DataFormatString),但它们都不起作用。我还在日期字段中使用了日期选择器。 [Required] [Column(TypeName = "
我有一个带有动态数据源的 gridview。 我在代码隐藏中添加列。 BoundField col=new BundField(); col.DataField="Active"; col.DataF
出于某种原因,我无法在 gridview 中格式化我的日期文本 I still get this: May 10 2011 12:00AM 我没有在数据库中将我的字段设置为日期时间...DOY 最佳
我有一个 ASP.NET Gridview,其 BoundField 绑定(bind)到十进制值。我使用以下代码将十进制数格式化为货币值: DataFormatString="{0:C}" 我们有一个
我正在尝试通过 MVC 在 EF 代码优先属性上使用这些: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx 具体来说: [DisplayFo
是否可以在运行时在 ASP.NET DataGridView 中设置列或单元格的 DataFormatString 属性? 最佳答案 这应该有效。 BoundField priceField =
我目前有一个问题导致我的程序中的货币四舍五入。如果它是 7 位数字,它会自动将其四舍五入,我无法理解这个问题。 例如: 100000.99 存储到 DB 时会自动向上取整为 100001.00。 但是
有没有办法使用数据格式字符串将欧元 (€) 货币符号移动到值的开头,而无需在 xml 中对欧元符号进行硬编码? 示例:使用 {0:C} 我得到 1234€ 而我想要的是得到 €1234。我无法找到解决
我试图通过仅显示 HH:mm 来重新格式化 GridView 中显示的时间。目前我显示的时间是 HH:mm:ss。编码如下。 我尝试了 DataFormatString="{0:HH:mm}" 但是
我有一个带有来自 linq 查询的 ObjectDataSource 的 gridview。 源变量之一是时间跨度,我将绑定(bind)字段与 DataField="MyTimeSpanVariabl
在我的模型中,我想格式化 double 的输出。我正在尝试输出这样的数字: 100000000作为100.000.000(只是点分隔符) 但是通过使用这个(货币格式) [DisplayFormat(D
我有一个使用 MySQL 数据库的 Data Gridview。 我在数据库的许多条目中有很多值,例如: 美国 英国 并且输出需要是--> 美国 英国 我需要将代码放入 DataFormatStrin
有没有一种方法可以使用 View 模型属性上的 DisplayFormat 属性来为社会安全号码或电话号码应用 DataFormatString 格式?我知道我可以使用 javascript 来做到这
这是我拥有的一个类(class)的简化 View : public class SalesMixRow { [DisplayFormat(DataFormatString = "{0:c0}"
我的 View 模型中有一个属性,如下所示: [Editable(false)] [Display(Name = "Date")] [DisplayFormat(DataFormatString =
所以我有一些看起来像这样的代码: 这正如我所愿。但是,我想在我的程序中到处重复使用日期格式。因此,我想使用一个变量而不是上面使用的字符串。像这样的东西: "> 但这完全行不通。它按字面打印出来:
我有一个带有以下代码的动态 BoundField(用于 DetailsView): BoundField bf1 = new BoundField(); bf1.DataField = "Create
我有一个带有一些日期和时间属性的模型。 时间属性具有以下 DataAnnotation: [DisplayFormat(ApplyFormatInEditMode = true, DataFormat
我在使用 MVC3 DateTime 对象正确显示日期时遇到一些问题。 在 Controller 中,我设置了Date = DateTime.Now。 在 View 模型中: [Required(Er
我是一名优秀的程序员,十分优秀!