2012-08-16 2 views
4
내가 여기에 문제를 해결 해

...은 ASP.NET의 다른 페이지로 리디렉션되기 전에 ClientScript 경고를 표시합니다. C#?

가 나는 새로운 클라이언트를 추가 해요 ... 예를 들어, 내가 지속적으로 사용자에게 메시지를 표시하고 시스템을 개발하고 있어요, 내가 입력 된 모든 데이터 를 눌러 저장, C에 # 내가하는 일은 ... 내가 사용 후, 절약의 모든 과정을

ClientScript.RegisterStartupScript(this.GetType(), "Mensaje", "alert('Client Saved Successfully');", true); 

입니다 그리고 난 같은 사이트에 머물고 있기 때문에 그것은 결국 메시지가 표시됩니다 ... 그것 뿐이다 (왜냐하면 다른 클라이언트를 추가하기를 원하기 때문에 sme 사이트에 머물러 있어야하며, 메인 화면으로 되돌려 보내지 않아야한다.) 적어도 리다이렉션을 할 시스템을 말하지는 않는다.

그러나 여기에 또 다른 예가 있습니다 ...

클라이언트를 편집하려면 편집 화면으로 리디렉션됩니다. 모든 변경 사항을 입력하고 SAVe를 클릭하십시오. C#에서 모든 저장 작업을 수행합니다. 변경 후 나는 그러나 ... 다음 위의 하나와 같은

this.Response.Redirect("~/Main.aspx"); 

을 clientscript을 사용하여, 나는 내가 Response.Redirect를 사용하는 경우 난 더 이상 동일한 페이지에되지 않습니다 것으로 나타났습니다, 경고는 '원 사용자에게 표시됩니다 ....

이것은 계속 실행되는 문제이며, 그 해결책이 무엇인지 알고 싶습니다.

감사합니다 그리고 난 당신이 내 프로젝트가 무엇

답변

14

나에게 도움이 될 수 있습니다 희망 :

public static void jsAlertAndRedirect(System.Web.UI.Page instance, string Message, string url) 
{ 
    instance.Response.Write(@"<script language='javascript'>alert('" + Message + "');document.location.href='" + url + "'; </script>"); 
} 

나는 페이지에서 다음과 같이 사용 :

HTMLHelper.jsAlertAndRedirect(this, "This is an alert.", ResolveUrl("~/Default.aspx")); 

좋은 운.

+1

믿을 수. 정확히 내가 무엇을 찾고 있었는지. 대단히 감사합니다 – DotNetRookie

+0

@ HanletEscaño ..이 페이지는 제출을 않습니다. 버튼을 클릭 한 후 페이지를 제출하지 않는 방법이 있습니까? Thx – LearningCSharp

+0

버튼에서이 작업을 수행하는 경우 submitBehavior 속성을 변경해보십시오. 그것은 내가 지금 생각할 수있는 유일한 것입니다. 작동하지 않으면 알려주세요. –

1
string strScript = "&lt;script &gt;alert('The User has been added successfully.');     window.location='AdminPanel.aspx';&lt; /script &gt;"; 
Page.ClientScript.RegisterStartupScript(this.GetType(), "Startup",strScript); 
1
string strScript = "<script>"+"alert('The User has been added successfully.');"; 
       strScript += "window.location='AdminPanel.aspx';"; 
       strScript += "</script>"; 
     Page.ClientScript.RegisterStartupScript(this.GetType(), "Startup", strScript);