Я использую подробное представление с sqldatasource на странице aspx.Я пытаюсь выполнить некоторую предварительную и последующую обработку некоторых полей - в основном, чтобы преобразовать список html в список, разделенный новой строкой, для редактирования и обратно в html для хранения в базе данных.
Постобработкав 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();
меня расстраивает.Я уверен, что упускаю что-то (более чем одно) очевидное!
Наверное, я надеялся сделать что-то более похожее на обновление моего предмета ...
e.NewValues["threeline"] = postprocess(e.NewValues["threeline"].ToString());