PDA

View Full Version : سوال: alert به صورت سرورسايد



bftarane
دوشنبه 11 دی 1391, 16:53 عصر
سلام.
من مي خوام يه پيغام رو به کاربر نشون بدم مثلاً وقتي درج يه رکورد با موفقيت يا شکست روبه رو ميشه.
الآن اين کدها رو دارم

protected void btncat_Click(object sender, EventArgs e)
{
int retval = addnewscat(txtcat.Text, DateTime.Now, true, 0);
if (retval==0)
{
lblcat.Text = "مجموعه با موفقيت ثبت شد";
this.ClientScript.RegisterStartupScript(GetType(), "Javascript", "<script>alert('مجموعه با موفقيت ثبت شد')</script>");
binddrp();
}
else
{
this.ClientScript.RegisterStartupScript(GetType(), "Javascript", "<script>alert('نام مجموعه تکراري است')</script>");
lblcat.Text = "نام مجموعه تکراري است";
}

}
ولي الآن هم ليبل نشون داده ميشه هم alert. راهي داره بدون استفاده از جاوااسکريپت باکسي شبيه به alert نشون بديم به کاربر؟

mehdi.mousavi
دوشنبه 11 دی 1391, 17:21 عصر
سلام.
من مي خوام يه پيغام رو به کاربر نشون بدم مثلاً وقتي درج يه رکورد با موفقيت يا شکست روبه رو ميشه.
ولي الآن هم ليبل نشون داده ميشه هم alert. راهي داره بدون استفاده از جاوااسکريپت باکسي شبيه به alert نشون بديم به کاربر؟


سلام.
سوال قدری گنگ هستش... شما خودتون دارید Text اون Label رو Set می کنید، از طرفی Startup Script ای رو Register می کنید که سمت Client
alert ای رو اجرا کنه و می گید هم Label رو نشون میده و هم Alert رو؟ خوب طبیعیه. شما مگه غیر از این خواسته اید؟ اگر می خواهید Label رو نشون
ندید، می تونید Property ی Visible اونو false کنید تا Render نشه. اگر میخواهید پنجره alert دیده نشه، خوب برای چی RegisterStartupScript رو Call می کنید؟

موفق باشید.

bftarane
دوشنبه 11 دی 1391, 18:03 عصر
نه منظورم اينه که اگه جاوا اسکريپت فعال بود که alert نشون داده ميشه اگه فعال نبود ليبل نشون داده بشه
يا اگه راهي هست که فقط يه پنجره مثل alert نشون بده بدون اينکه نيازي به جاوااسکريپت باشه (اصلاً نميدونم همچين چيزي وجود داره يا نه به خاطر همين پرسيدم)

nasr
سه شنبه 12 دی 1391, 07:59 صبح
<asp:UpdatePanel ID="upPnl" runat="server">
<ContentTemplate>
<asp:Button ID="btnPostback" runat="server"
Text="Standard Postback"
OnClick="btnPostback_Click" />
<asp:Button ID="btnAsynchPostback" runat="server"
Text="Asynchronous Postback"
OnClick="btnAsynchPostback_Click" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnPostback" />
</Triggers>
</asp:UpdatePanel>

private string getjQueryCode(string jsCodetoRun)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("$(document).ready(function() {");
sb.AppendLine(jsCodetoRun);
sb.AppendLine(" });");

return sb.ToString();
}
private void runjQueryCode(string jsCodetoRun)
{

ScriptManager requestSM = ScriptManager.GetCurrent(this);
if (requestSM != null && requestSM.IsInAsyncPostBack)
{
ScriptManager.RegisterClientScriptBlock(this,
typeof(Page),
Guid.NewGuid().ToString(),
getjQueryCode(jsCodetoRun),
true);
}
else
{
ClientScript.RegisterClientScriptBlock(typeof(Page ),
Guid.NewGuid().ToString(),
getjQueryCode(jsCodetoRun),
true);
}
}


protected void btnPostback_Click(object sender, EventArgs e)
{
runjQueryCode("alert('After a standard postback.')");

}

protected void btnAsynchPostback_Click(object sender, EventArgs e)
{
runjQueryCode("alert('After an asynchronous postback.')");

}