我有一个带有 DateTimeOffset 属性的类:
public class Sample 
{
    public DateTimeOffset expires { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
最终是它们的集合:
IEnumerable<Sample> collection;
Run Code Online (Sandbox Code Playgroud)
2个问题:
创建一个从集合中返回所有样本项的方法的最佳方法是什么,其中过期时间大于现在并且仍然在今天(即午夜之前)?
从集合中退回将在未来 24 小时内过期的所有样品商品的最佳方式是什么?
我有一台服务器设置为EST,我想知道我需要做什么来创建一个DateTimeOffset设置为当天午夜但在不同的时区?比如PST?
我有一个视图模型,其中包含其他对象的集合.
public ParentViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<ChildViewModel> Child { get; set; } 
}
public ChildViewModel
{
    public int Id { get; set; }
    public string FirstName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的一个视图中,我将ParentViewModel作为模型传递,然后使用
<%: Html.EditorFor(x => x) %>
Run Code Online (Sandbox Code Playgroud)
其中显示Id和Name属性的表单.
当用户单击一个按钮时,我通过Ajax调用一个动作来加载一个局部视图,该视图带有一个Child的集合:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Child>>" %>
<%: Html.EditorFor(x => x) %>
Run Code Online (Sandbox Code Playgroud)
然后使用自定义模板Child显示传入的每个子项的表单.
我遇到的问题是由Child自定义模板创建的表单不使用DefaultModelBinder使用的命名约定.
即字段名称(由Ajax加载时):
[0].FirstName
Run Code Online (Sandbox Code Playgroud)
代替:
Child[0].FirstName
Run Code Online (Sandbox Code Playgroud)
所以我的控制器中的编辑操作:
[HttpPost]
public virtual ActionResult Edit(int id, FormCollection formValues)
{
    ParentViewModel parent …Run Code Online (Sandbox Code Playgroud)