表结构如下:
id int identity
firstname varchar(100)
lastname varchar(100)
我有一个detailsview控件,在profile.aspx页面上显示/插入/更新firstname lastname。
如果客户登陆此页面,其中包含查询字符串中的id,那么我希望它通过sqldatasource将该记录加载到detailsview中并启用编辑按钮。
如果客户登陆此页面并且在查询字符串中输出了id,那么我希望它通过sqldatasource将first / lastname记录的空白显示到detailsview中并启用插入按钮。
我该如何实现?
请帮忙......
答案 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
}