/ / detailsview: automatyczne wywoływanie trybu wstawiania lub edycji - asp.net, detailsview, sqldatasource

detailsview: automatyczny insert insert lub edit mode - asp.net, detailsview, sqldatasource

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 № 1

Uż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
}