【问题标题】:DetailsView Update command doesn't update unless all of the fields are present!除非所有字段都存在,否则 DetailsView 更新命令不会更新!
【发布时间】:2010-11-16 15:04:41
【问题描述】:

我有一个将数据从 DB 绑定到 DetailsView 的页面。

我想使用自动生成的更新命令。

一切正常,更新也成功,但如果我删除了我不想更新的任何字段,则更新命令不会更新!旧值保留!

我的意思是:如果所有字段都存在于 detailsView 中,那么更新就可以了,否则,更新不会更新任何东西。

我已尝试将不想查看的字段标记为“Visible = 'false'”,但效果不佳!

如何隐藏一些字段?

谢谢:)

【问题讨论】:

    标签: asp.net data-binding detailsview


    【解决方案1】:

    您是否尝试将不想更新的字段也放在“ReadOnly = True”处?这应该将它们标记为不更新。

    【讨论】:

    • 谢谢,这应该使该字段出现,但不可更新,但我的目标是根本不查看它!
    • 您是否尝试将其设为“Visible = False”和“ReadOnly = True”?
    • 是的,我试过了,但考虑到它根本不包括在内,没有发生更新:(
    • 我有点没有想法,现在无法真正测试任何东西。也许问题也出在数据源上……
    【解决方案2】:

    这是一种方法..

    protected void DetailsView1_ModeChanged(object sender, EventArgs e)
    {
        if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
        {
            foreach (DataControlField fd in DetailsView1.Fields)
            {
                BoundField tmp = fd as BoundField;
                if (tmp != null)
                    if (tmp.DataField == "YourReadOnlyColumnName")
                        tmp.ReadOnly = true;
            }
    
        }
    }
    

    【讨论】:

    • 谢谢,这应该使该字段出现,但不可更新,但我的目标是根本不查看它!
    猜你喜欢
    • 2021-05-14
    • 2013-12-16
    • 2019-04-19
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    相关资源
    最近更新 更多