Я использую детальное представление с sqldatasource на странице aspx. Я пытаюсь выполнить предварительную и пост-обработку некоторых полей - в основном для преобразования списка html в список, выделенный для новой строки для редактирования, и обратно в html для хранения в базе данных.Как изменить данные в событии данных DetailsView
Последующая обработка в ItemUpdating достаточно легко, но предварительная обработка в DataBound грязен ...
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
if (DetailsView1.Rows.Count > 2)
{
string s =((DataRowView)DetailsView1.DataItem).Row.ItemArray[2].ToString();
TextBox box1 = (TextBox) DetailsView1.FindControl("textbox1");
if (box1 != null)
{
box1.Text = preprocess(s);
}
}
}
Его хрупкость
string s=((DataRowView)DetailsView1.DataItem).Row.ItemArray[2].ToString();
что меня расстраивает. Я уверен, что у меня что-то отсутствует (более чем одно), очевидно!
Я предполагаю, что я надеялся сделать что-то еще, как мой ItemUpdating ...
e.NewValues["threeline"] = postprocess(e.NewValues["threeline"].ToString());