detailsview: автоматический вызов режима вставки или редактирования

Структура таблицы следующая:

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

У меня есть элемент управления просмотром деталей, который отображает / вставляет / обновляет имя и фамилию на странице profile.aspx.

Если клиент попадает на эту страницу с идентификатором в строке запроса, я хочу, чтобы он загружал эту запись в подробный просмотр через sqldatasource и включал кнопку редактирования.

Если клиент попадает на эту страницу без идентификатора в строке запроса, я хочу, чтобы он отображал пробелы для записи first / lastname в подробном просмотре через sqldatasource и включал кнопку вставки.

Как мне этого добиться ???

Пожалуйста помоги...


person dotnet-practitioner    schedule 05.03.2009    source источник


Ответы (3)


Используйте этот метод, чтобы перевести свой 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  

Просто сделайте дополнительную настройку для случая, когда идентификатор не передается.

person Dhaust    schedule 05.03.2009

В вашем Page_Load установите условие

Page_Load
{

check query string and find empID

If (empID != null)
{

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


detailsView1.ChangeMode(DetailsViewMode.Insert);
}

}
person Jordan Johnson    schedule 14.04.2009

Прочтите это Обновить базы данных с помощью ASP.NET 2.0 SqlDataSource

Используйте следующий код, чтобы проверить, передан ли идентификатор, если есть заполнить поля его данными.

int EmpID = 0;

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