小编Cha*_*son的帖子

DateTime 的 Razor DisplayFor = 输入字符串的格式不正确

最近,我为我的 MVC 4 应用程序更新了几个引用的程序集并升级到 MVC 5.1。不确定这是否与它有关。

模型

[Display(Name = "Start")]
[DisplayFormat(DataFormatString = "{0t}")]
public System.DateTime StartDateTime { get; set; }
Run Code Online (Sandbox Code Playgroud)

现在我在一个简单的 razor html helper 上遇到一个奇怪的错误

@Html.DisplayFor(model => model.StartDateTime)
Run Code Online (Sandbox Code Playgroud)

给出错误:Input string was not in a correct format

如果您查看调试器中该字段的值,它是 System.DateTime 类型并显示: 2/28/2014 10:17 AM

更改为 a@Html.EditorFor会正确呈现数据时间。

我的 DisplayTemplates 文件夹是空的。

堆:

[FormatException: Input string was not in a correct format.]
   System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args) +14321177
   System.String.Format(IFormatProvider provider, String format, Object[] args) +136
   System.Web.Mvc.Html.TemplateHelpers.TemplateHelper(HtmlHelper html, ModelMetadata metadata, String …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc datetime razor

3
推荐指数
1
解决办法
4074
查看次数

LINQ Select()或ForEach循环

我是仿制药的新手,但我知道我需要用它来帮助保持干燥:)

我正在尝试创建一个类,将许多不同类型的列表转换为由下拉列表控件使用但不能使其工作的公共类.我在下面的方法中显示了两个尝试这个的选项,试图让每个工作(foreach循环和linq),但无济于事.

private static IEnumerable<ddlOptions> GetDDLOptionsViewModel<T>(List<T> genericList, string strPropName)
{
    // option A: ForEach loop
    Type type = genericList.GetType();
    var IdProperty = type.GetProperty("Id");
    var DisplayNameProp = type.GetProperty(strPropName);

    List<ddlOptions> options = new List<ddlOptions>();
    foreach (var l in genericList)
    {
        options.Add(new ddlOptions
            { 
                Id = IdProperty.GetValue(l, null), 
                DisplayName = DisplayNameProp.GetValue(l, null)
            });
    }
    return options;

    // option B - LINQ
    return from l in genericList
           select new ddlOptions
           {
               Id = l.Id,
               DisplayName = l.strPropName
           };
}
Run Code Online (Sandbox Code Playgroud)

c# linq generics foreach

2
推荐指数
1
解决办法
1万
查看次数

Edmx 文件不在 TFS 源代码控制下 VS2012

我在表的模型浏览器中未显示关系时遇到了一些问题。所以我在 EDMX 图中删除了它并重新添加了它。

现在,我注意到在 Checking In Pending Changes 时,同一个文件被标记为删除,并且它旁边缺少源代码管理挂锁图标。

在此处输入图片说明 1.我试过File > Source Control > Advanced > Refresh Status没有用。
2.项目的其余部分没问题……只有这个文件,所以源代码控制绑定检查都没有问题。3. 我去了 EDMX 文件,然后r-click > Add files to source control..再次没有运气。

无论如何要再次将其添加到源代码管理中?

c# tfs visual-studio-2012

2
推荐指数
1
解决办法
611
查看次数

LINQ错误初始化成员声明符无效

我是一个相当初级的C#开发人员,请原谅我,如果这是微不足道的,但我在下面指出的代码行中提出了这个错误"无效的初始化成员声明符".

有人可以解释这意味着什么,我如何解决/实现这个结果?我的所有数据注释都已在PODetail中应用一次,这就是为什么我不想在这里重复这些属性.

public class PODetailsListViewModel : IViewModelList<PODetail, PODetailsListViewModel>, IEntity
    {
        public int Id { get; set; }

        public string EntityDescription
        {
            get
            { return this.Id.ToString(); }
        }

        public PODetail PODetail { get; set; }


        public IEnumerable<PODetailsListViewModel> ConvertClassToViewModel(IEnumerable<PODetail> poDetails)
        {
            IEnumerable<PODetailsListViewModel> contactGrid =
                from l in poDetails.ToList()
                select new PODetailsListViewModel()
                {
                    Id = l.Id,
                    PODetail.POHeaderId = l.POHeaderId, <===== ERROR on this Line
                    ....
                };

            return contactGrid;
        }
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc

1
推荐指数
1
解决办法
6946
查看次数

什么是静态字段的生命周期

C#MVC中静态字段的生命周期是什么:

private static InventoryMgmtContext _dbContext = new InventoryMgmtContext();
public ManageWorkOrdersAppServ()
    : base(new WorkOrderHeaderRepository(_dbContext )) 
{
    _workOrderHeaderRepository = new WorkOrderHeaderRepository(_dbContext);
    _workOrderDetailRepository = new WorkOrderDetailRepository(_dbContext);

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,_dbContext何时会死?这是我的另一个问题的后续行动,我无法澄清.

c# asp.net-mvc

1
推荐指数
1
解决办法
472
查看次数

标签 统计

c# ×5

asp.net-mvc ×3

linq ×2

datetime ×1

foreach ×1

generics ×1

razor ×1

tfs ×1

visual-studio-2012 ×1