Struktura tabeli jest następująca:
id int identity
firstname varchar(100)
lastname varchar(100)
Mam kontrolę widoku szczegółów, która wyświetla / wstawia / aktualizuje imię na stronie profile.aspx.
Jeśli klient wyląduje na tej stronie z identyfikatorem w zapytaniu, chcę, aby załadował ten rekord do widoku szczegółów przez sqldatasource i miał włączony przycisk edycji.
Jeśli klient wyląduje na tej stronie bez identyfikatora w zapytaniu, chcę, aby wyświetlał puste miejsca dla rekordu imienia / nazwiska w widoku szczegółów poprzez sqldatasource i miał włączony przycisk wstawiania.
Jak to osiągnąć?
Proszę pomóż...
Odpowiedzi:
1 dla odpowiedzi № 1Użyj tej metody, aby przełączyć swój DetailsView do trybu edycji, jeśli przekazano identyfikator:
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
Po prostu zrób kilka dodatkowych poprawek w przypadku „bez podania ID”.
1 dla odpowiedzi nr 2
W swoim Page_Load ustaw warunek
Page_Load
{
check query string and find empID
If (empID != null)
{
detailsView1.ChangeMode(DetailsViewMode.Edit);
}
else
{
detailsView1.ChangeMode(DetailsViewMode.Insert);
}
}
0 dla odpowiedzi № 3
Przeczytaj to Zaktualizuj bazy danych za pomocą ASP.NET 2.0 SqlDataSource
Użyj poniższego kodu, aby sprawdzić, czy istnieje przekazany identyfikator, jeśli pola są wypełnione jego danymi.
int EmpID = 0;
if (Request.Querystring.Get("EmpID") != null)
{
id = Page.Request.QueryString["EmpID"];
//load your values
}