Asp.Net'te Js Alert Çalıştırma Sorunu
-
merhaba
asp.nette bir proje geliştiriyorum. şöyle bir sıkıntım var. kullanıcıya script alert mantığıyla uyarı çıkarttırıyorum. fakat eventın sonunda eğer response.redirect varsa alertım çalışmıyor. alerttaki ok butonuna basıldıktan sonra yönlendirmeyi yapabilriim belki ama nasıl yakalayabileceğime dair en ufak fikrim yok.
önerileriniz varsa bekliyorum :|
-
Alettir response.write içine yaz sonra alt satırda response.write içerisinde meta yönlendirme kodunu yaz
-
http://forums.asp.net/t/1808039.aspx/1
ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('hi');", true);
-
sanırım bunun gibi birşey senın cevabın " window.location="http://www.site.com" " doğrumu anladım bilmiyorum ama ?
-
yine bi değişiklik olmadı. şu class ı buldum. bunla denedim yine olmadı. normalde çok güzel çalışıyor. ama devamında redirect koyduğum zaman alert hiç çıkmıyor :| sorunu algılayamadım .
namespace TestWebMsgApp
{
public class WebMsgBox
{
protected static Hashtable handlerPages = new Hashtable();
private WebMsgBox()
{
}
public static void Show(string Message)
{
if (!(handlerPages.Contains(HttpContext.Current.Handler)))
{
Page currentPage = (Page)HttpContext.Current.Handler;
if (!((currentPage == null)))
{
Queue messageQueue = new Queue();
messageQueue.Enqueue(Message);
handlerPages.Add(HttpContext.Current.Handler, messageQueue);
currentPage.Unload += new EventHandler(CurrentPageUnload);
}
}
else
{
Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
queue.Enqueue(Message);
}
}
private static void CurrentPageUnload(object sender, EventArgs e)
{
Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
if (queue != null)
{
StringBuilder builder = new StringBuilder();
int iMsgCount = queue.Count;
builder.Append("<script language='javascript'>");
string sMsg;
while ((iMsgCount > 0))
{
iMsgCount = iMsgCount - 1;
sMsg = System.Convert.ToString(queue.Dequeue());
sMsg = sMsg.Replace("\"", "'");
builder.Append("alert( \"" + sMsg + "\" );");
}
builder.Append("</script>");
handlerPages.Remove(HttpContext.Current.Handler);
HttpContext.Current.Response.Write(builder.ToString());
}
}
}
}
