detailsview:自动调用插入或编辑模式

时间:2009-03-05 02:32:22

标签: asp.net detailsview sqldatasource

表结构如下:

id int identity
firstname varchar(100) 
lastname varchar(100)

我有一个detailsview控件,在profile.aspx页面上显示/插入/更新firstname lastname。

如果客户登陆此页面,其中包含查询字符串中的id,那么我希望它通过sqldatasource将该记录加载到detailsview中并启用编辑按钮。

如果客户登陆此页面并且在查询字符串中输出了id,那么我希望它通过sqldatasource将first / lastname记录的空白显示到detailsview中并启用插入按钮。

我该如何实现?

请帮忙......

3 个答案:

答案 0 :(得分:1)

如果传入了ID,请使用此方法将DetailsView弹出到编辑模式:

    Dim theID As Int32 = Request.QueryString("id")
    If Not theID Is Nothing Then
        SqlDataSource.SelectParameters("THE_ID").DefaultValue = theID
        SqlDataSource.DataBind()
        DetailsView.ChangeMode(DetailsViewMode.Edit)
    End If  

只需对“无ID传入”案例进行一些额外调整。

答案 1 :(得分:1)

在Page_Load中设置条件

Page_Load
{

check query string and find empID

If (empID != null)
{

detailsView1.ChangeMode(DetailsViewMode.Edit);
}
else
{


detailsView1.ChangeMode(DetailsViewMode.Insert);
}

}

答案 2 :(得分:0)

阅读此Update Databases using ASP.NET 2.0 SqlDataSource

如果用他的数据填充字段,请使用以下代码检查是否传入了id。

int EmpID = 0;

if (Request.Querystring.Get("EmpID") != null) 
{ 
    id = Page.Request.QueryString["EmpID"];
    //load your values
}