2012-06-13 70 views
0

這是我想要做的。我有一個用戶填寫的表單(創建部分和子部分),當他們單擊保存時,我想檢查數據庫以查看他們是否已命名與已存在的部分相同的部分。如果他們有,我想要得到他們的確認,讓他們知道如果他們繼續,他們將創建一個重複。如果他們點擊是,我需要繼續,否則我需要中止。這是我迄今爲止的一些僞碼。獲取確認框並在代碼後面顯示它的值

protected void SaveButton_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     if (CheckForDuplicates()) 
     { 
      //proceed normally 
     } 
    } 
} 

private bool CheckForDuplicates() 
{ 
    //check database 

      if (/*there are duplicates*/) 
      { 
       string message = "A duplicate name exists. Would you like to continue?"; 
       string scriptString = "<script language='javascript' 
        type='text/javascript'>" + "return confirm('" + message + "');</script>"; 

       ScriptManager.RegisterStartupScript(this, this.GetType(), 
        "script", scriptString, false); 

       //here i would like to return their confirmation 
      } 
     } 
    } 
    return true; 
} 

所有幫助表示感謝,並提前致謝!

回答

0

添加JavaScript使得如果用戶確認,您可以撥打JavaScript __doPostBack('','UserConfirmed');函數。只需在您的代碼隱藏中添加邏輯以及您使用ScriptManager註冊的確認邏輯即可。當回發時,就可以檢查,以確保回傳,事實上,通過用戶的確認開始(而不是在頁面上一些其他的動作):

public void Page_Load(object sender, EventArgs e) 
{ 
    string parameter = Request["__EVENTARGUMENT"]; 
    //if parameter equals "UserConfirmed" 
    //  User confirmed, so do whatever 
    // 
} 

信息__doPostBackUnderstanding the JavaScript __doPostBack Function

+0

謝謝!我對_doPostBack有點困惑,但你的鏈接確實有幫助。 –

+0

太棒了!樂意效勞。 – Jeremy

相關問題