2012-06-13 2 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

사용자가 확인한 경우 자바 스크립트 __doPostBack('','UserConfirmed');을 호출 할 수 있도록 자바 스크립트를 추가하십시오. ScriptManager에 등록하는 확인 논리와 함께 코드 숨김에 논리를 추가하기 만하면됩니다.

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

정보 __doPostBack에 : Understanding the JavaScript __doPostBack Function

다시 게시가 발생하면, 당신은 그 (페이지에서 다른 작업과 반대로) 다시 게시 이었다는 것을, 사실, 사용자의 확인에 의해 시작하기 위해 확인하실 수 있습니다
+0

감사합니다. _doPostBack과 약간 혼동 스러웠지만 링크가 정말 도움이되었습니다. –

+0

좋아요! 기꺼이 도와주세요. – Jeremy