2016-10-18 1 views
0

JavaScript를 사용하여 다른 경고 메시지를 표시하려고합니다. 여기에 내 코드가 있지만 리디렉션 전에 알림 상자가 표시되지 않습니다. 나는 제공된 다른 예제를 시도했지만 모두 한 가지 유형의 경고 메시지 만 사용하고 있습니다. 이 ShowAlertMessage 메서드를 사용하여 다른 페이지로 리디렉션하고 싶지 않은 다른 유형의 경고도 표시합니다. 사용자에게 경고 만하십시오.ASP.NET에서 리디렉션하기 전에 두 개의 서로 다른 자바 스크립트 경고

If (user creates a new work order) 
{ 
    ShowAlertMessage("Property work order " + txtWorkOrderNumber.Text + " created successfully"); 
} 
else 
    ShowAlertMessage("Property work order updated successfully"); 

Response.Redirect("~/DashBoard.aspx"); 


public static void ShowAlertMessage(string msg) 
{ 
    Page page = HttpContext.Current.Handler as Page; 

    if (page != null) 
    { 
      string script = "alert(\"'" + msg + "'\");"; 
      ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", script, true); 
    } 
} 

답변

0

당신은 오히려 리디렉션 단지 URL을 사용자의 응답은 어떤 내용이없는 것을 의미하는 Response.Redirect를 내보내지만,하고 있습니다.

현재 수행하려는 작업을 수행하려면 자바 스크립트를 현재 페이지에 작성한 다음 알림이 실행되면 javascript를 사용하여 새 URL로 이동해야합니다.

어쩌면 같은 다음

string script = string.Format("alert('{0}'); window.location.href='{1}';", 
    msg, ResolveUrl("~/Dashboard.aspx")); 

이 웹폼에 문제의 일반적인 예이다 - 제대로 이유이다, 좋은 사용자 경험을 제공하기 위해 함께 클라이언트와 서버 코드를 혼합하는 것은 매우 어렵다 많은 사람들이 AJAX를 사용하여 대부분의 게시물을 수행하면서 자바 스크립트에서 내 사용자 경험을 완전하게 수행하는 것을 선호합니다.

+0

사용자를 다른 페이지로 리디렉션 할 필요가없는 다른 경고에도이 메서드를 사용하므로 ShowRertMessage 내에 Response.Redirect를 포함하고 싶지 않습니다. – user2116846

관련 문제