ASP.Net 中的 Detailsview 取消客户端的默认编辑模式

Detailsview in ASP.Net cancel default editMode on client side

我有一个带有 SQL 数据源绑定的主网格和详细信息视图,在加载期间默认设置为 EditMode。我允许用户 select 我的主网格中的一行以在模式弹出窗口中加载详细信息视图(为详细信息视图提供数据键以加载 selected 行数据),并更新用户成功输入和更新后将详细视图数据添加到数据库。 当用户在详细视图中输入意外数据时,我试图使用客户端 javascript 警报消息向用户显示相应的验证,并允许用户使用模态弹出窗口 cancelCommand 选项关闭模态弹出窗口。
注意:这里我没有取消编辑模式(不知道如何在客户端执行此操作)

我面临的问题是,在详细信息视图中输入错误数据后,用户可能会选择关闭详细信息视图并重新打开相同的数据(通过 selecting 之前 selected 的同一行在主网格中)。现在,以前的错误数据加载到详细信息中(由用户输入),而不是数据库/ SQL DataSource 中的实际/正确数据。

我尝试将 DetailsView ViewState 设置为 'false',尽管 detailsview 正在尝试加载数据,但之前的错误值被填充了。谁能帮我解决这个问题。

我已经通过在主 Gridview 上为 DetailsView 调用数据绑定操作解决了上述问题- onRowSelect 命令
注意:对于detailsview,viewstate设置为'false',所以我们总是将数据绑定到DetailsView。在我的场景中,我不参与对数据库的任何额外调用,因为我的 SQLDataSource(绑定到 DetailsView)viewstate 设置为 true

protected void MainGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{

    if (e.CommandName == "select")
    {
        //Binds DetailsView with source data, not loading wrong data from edit mode if user selects previously selected same row again
        DetailsView.DataBind();
        this.mdlPopup.Show();
    }
}