1

私はフォームビュー コントロールを持っていItemCreatedます。イベントでは、いくつかのフィールドをデフォルト値で「プライミング」しています。

ただし、フォームビューを使用して挿入しようとすると、ItemInsertingイベントが呼び出される前に、何らかの理由でItemCreated最初に呼び出されます。その結果、挿入が行われる直前にフィールドがデフォルト値で上書きされます。

ItemCreatedイベントの前にイベントを呼び出さないようにするにはどうすればよいItemInsertingですか?

4

3 に答える 3

2

formview ItemCreated イベントの代わりに formview Databound イベントを使用して値を設定する必要があります。

protected void frm_DataBound(object sender, EventArgs e)
{
    if (frm.CurrentMode == FormViewMode.Edit)//whatever your mode here is.
    {
        TextBox txtYourTextBox = (TextBox)frm.FindControl("txtYourTextBox");
        txtYourTextBox.Text// you can set here your Default value
    }
}

同様の問題FormView_Load が C# ASP.NET で上書きされているこのスレッドも確認してください。

于 2009-11-06T05:20:04.313 に答える
0

フォーム ビューのCurrentModeプロパティを確認してみてください。

void FormView_ItemCreated(object sender, EventArgs e)
{
    if (FormView.CurrentMode != FormViewMode.Insert)
    {
        //Initialize your default values here
    }
}
于 2009-11-06T02:36:53.753 に答える
0

イベントが発生する順序は変更できません。!IsPostBackただし、たとえば、値をリセットしないように、デフォルト値を設定するコードをラップする必要があります。

protected void FormView_ItemCreated(Object sender, EventArgs e)
{
  if(!IsPostBack)
  {
    //Set default values ...
  }
}
于 2009-11-05T18:54:45.570 に答える