2009-03-05 7 views
1

tableau se présente comme suit:detailsview: insertion automatique ou en mode Invoke modifier la structure

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

J'ai un contrôle detailsview qui affiche/insère/mises à jour à la page firstname lastname de profile.aspx.

Si le client atterrit sur cette page avec id dans la chaîne de requête, je veux qu'il charge cet enregistrement dans la vue détaillée via sqldatasource et que le bouton d'édition soit activé.

Si le client atterrit sur cette page sans ID dans la chaîne de requête, je souhaite qu'il affiche des espaces pour l'enregistrement prénom/nom dans la vue détaillée via sqldatasource et que le bouton insertion soit activé.

Comment puis-je accomplir cela ???

S'il vous plaît aider ...

Répondre

0

Lire ce Update Databases using ASP.NET 2.0 SqlDataSource

Utilisez le code suivant pour vérifier s'il y a un id passé s'il y a remplir les champs avec ses données.

int EmpID = 0; 

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

Utilisez cette méthode pour votre pop DetailsView en mode édition s'il y a un ID passé dans:

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 

Il suffit de faire quelques ajustements supplémentaires pour le « non ID adoptée en » cas.

1

Dans votre Page_Load définir une condition

Page_Load 
{ 

check query string and find empID 

If (empID != null) 
{ 

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


detailsView1.ChangeMode(DetailsViewMode.Insert); 
} 

} 
Questions connexes