0

aspx ページで sqldatasource を含む detailsview を使用しています。いくつかのフィールドで前処理と後処理を実行しようとしています-基本的に、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();

それは私を動揺させます。私は何か(複数のもの)が明らかに欠けていると確信しています!

もっとItemUpdatingのようなことをしたいと思っていたと思います...

e.NewValues["threeline"] = postprocess(e.NewValues["threeline"].ToString());

4

1 に答える 1