EntityDataSource中的默认DateTime参数

时间:2010-06-04 11:42:37

标签: asp.net entity-framework detailsview

我有一个ASP.Net DetailsView,绑定到EntityDataSource控件。 我的EntitySet有一个DateTime属性,我想将其设置为默认值DateTime.Now 我不想在DetailsView上显示此属性。 我想我可以在我的EntityDataSource中使用InsertParameter,但不知道语法,或者这是否可能:

        <InsertParameters>
            <asp:Parameter DbType="DateTime2" DefaultValue="" />
        </InsertParameters>

我采取了正确的方法吗?

1 个答案:

答案 0 :(得分:1)

嗯,看起来不可能在HTML中执行此操作,但您可以轻松地在代码中执行此操作。 只需将Inserting事件处理程序附加到实体数据源,然后将DateTime参数设置为您需要的默认值:

    protected void edsNewsItem_Inserting(object sender, EntityDataSourceChangingEventArgs e)
    {
        var newsItem = e.Entity as NewsItem;
        if (newsItem != null)
        {
            newsItem.Date = DateTime.Now;
            newsItem.LastUpdated = DateTime.Now;
        }
    }