共用方式為


ProfileAutoSaveEventHandler 代理人

定義

代表將處理 ProfileAutoSavingProfileModule 事件的方法。

public delegate void ProfileAutoSaveEventHandler(System::Object ^ sender, ProfileAutoSaveEventArgs ^ e);
public delegate void ProfileAutoSaveEventHandler(object sender, ProfileAutoSaveEventArgs e);
type ProfileAutoSaveEventHandler = delegate of obj * ProfileAutoSaveEventArgs -> unit
Public Delegate Sub ProfileAutoSaveEventHandler(sender As Object, e As ProfileAutoSaveEventArgs)

參數

sender
Object

引發 ProfileModule 事件的 ProfileAutoSaving

e
ProfileAutoSaveEventArgs

ProfileAutoSaveEventArgs,其中包含事件資料。

範例

下列程式代碼範例顯示 ProfileAutoSaving ASP.NET 應用程式之 Global.asax 檔案中包含的事件。

public void Profile_ProfileAutoSaving(object sender, ProfileAutoSaveEventArgs args)
{
  if (Profile.Cart.HasChanged)
    args.ContinueWithProfileAutoSave = true;
  else
    args.ContinueWithProfileAutoSave = false;
}
Public Sub Profile_ProfileAutoSaving(sender As Object, args As ProfileAutoSaveEventArgs)
  If Profile.Cart.HasChanged Then
    args.ContinueWithProfileAutoSave = True
  Else
    args.ContinueWithProfileAutoSave = False
  End If
End Sub

備註

委派 ProfileAutoSaveEventHandler 是針對 ProfileAutoSaving 類別的事件 ProfileModule 所定義。 您可以在 ASP.NET 應用程式的 Global.asax 檔案中存取 ProfileAutoSaving 類別的事件 ProfileModule ,如本主題的範例所示。 如果 AutomaticSaveEnabled 屬性為 true,則會ProfileAutoSaving在頁面執行結束時引發 事件。

方法Save會藉由檢查IsDirty使用者配置檔中的每個屬性,自動判斷由基本類型、字串或DateTime對象組成的屬性SettingsPropertyValue是否已變更。 不過, Save 方法無法明確判斷自定義類別是否已變更。 您可以處理 ProfileAutoSaving 事件,以判斷自定義物件是否已修改,以及繼續自動儲存已修改的物件,並在未修改任何物件時取消自動儲存。

若要取消自動設定檔儲存作業,請將 ContinueWithProfileAutoSave 事件中的 ProfileAutoSaving 屬性false設定為 ,否則請將 ContinueWithProfileAutoSave 屬性設定為 true

事件可能有多個訂閱者 ProfileAutoSavingProfileModule將使用 屬性設定為的最後一個值ContinueWithProfileAutoSave。 因此,建議您在 事件中ProfileAutoSaving明確設定 ContinueWithProfileAutoSave 屬性,不論您是要取消還是繼續自動儲存,因為您可能需要覆寫先前訂閱者所設定的值。

擴充方法

GetMethodInfo(Delegate)

取得表示特定委派所代表之方法的物件。

適用於

另請參閱