asp.net 调用类,为啥不弹出对话框呢?

xiaotuzi 2010-03-13 05:38:36
Default.aspx.cs 源代码

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default:ClassXu
{
protected void Page_Load(object sender, EventArgs e)
{
ClassXu xu = new ClassXu();
xu.print();
//ClassXu.print();

}
}

App_Code文件夹下的ClassXu.cs文件
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// ClassXu 的摘要说明
/// </summary>
public class ClassXu:System.Web.UI.Page
{
public void print()
{
Page.RegisterStartupScript("sb", "<script>alert('我来自classXu')</script>");


}
public ClassXu()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}


///为啥运行Default.aspx,不能弹出对话框“我来自classXu"呢? 谢谢,要弹出该怎样做呢?
...全文
225 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaotuzi 2010-03-14
  • 打赏
  • 举报
回复
还是没弄懂7楼写的东东,应该是类源代码,加上default.aspx.cs里面调用的代码,这样看得比较懂。。
不过,还是谢谢各位大大拉,,,,结贴,送分。
xray2005 2010-03-13
  • 打赏
  • 举报
回复
顶8楼!!
polarissky 2010-03-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 maiyude 的回复:]

感谢各位大大的帮助,8楼一下子就能用。。。。多谢拉,,,,
7楼的怎么用啊?麻烦写全个代码(怎么传,cm是啥啊?)。。。。。嘿嘿。。。。
页面调用[/Quote]
ClassXu cm = new ClassXu();
cm.ThisPage = this;
cm.Print("输出信息");
xiaotuzi 2010-03-13
  • 打赏
  • 举报
回复
感谢各位大大的帮助,8楼一下子就能用。。。。多谢拉,,,,
7楼的怎么用啊?麻烦写全个代码(怎么传,cm是啥啊?)。。。。。嘿嘿。。。。
koukoujiayi 2010-03-13
  • 打赏
  • 举报
回复
顶8楼!!
polarissky 2010-03-13
  • 打赏
  • 举报
回复
贴个有用的给你:直接调用,第一个就是你要的
public class Message
{
警告消息框#region 警告消息框
/**//// <summary>
/// 警告消息框
/// </summary>
/// <param name="str_Message">提示信息,例子:"不能为空!"</param>
public static void Alert(string str_Message)
{
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("alert","<script language='JavaScript'>alert('"+str_Message+"');</script>");
}

/**//// <summary>
/// 服务器端弹出alert对话框,并使控件获得焦点
/// </summary>
/// <param name="str_Ctl_Name">获得焦点控件Id值,比如:txt_Name</param>
/// <param name="str_Message">提示信息,例子:"请输入您姓名!"</param>
public static void Alert(string str_Ctl_Name,string str_Message)
{
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("alert","<script language='JavaScript'>alert('"+str_Message+"');document.forms(0)."+str_Ctl_Name+".focus(); document.forms(0)."+str_Ctl_Name+".select();</script>");
}
#endregion

确认消息框#region 确认消息框
/**//// <summary>
/// 弹出confirm对话框-实现页面跳转
/// </summary>
/// <param name="PageTarget">跳转到的页面</param>
/// <param name="Content">提示信息</param>
public static void Confirm(string PageTarget,string str_Message)
{
  Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("confirm","<script language='JavaScript'>var retValue=window.confirm('"+str_Message+"');"+"if(retValue){window.location='"+PageTarget+"';}</script>");
}

/**//// <summary>
/// 弹出confirm对话框-提示信息
/// </summary>
/// <param name="str_Message">提示信息</param>
public static void Confirm(string str_Message)
{
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("confirm","<script language='JavaScript'>var retValue=window.confirm('"+str_Message+"');</script>");
}

/**//// <summary>
/// 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和 “取消”时的操作
/// </summary>
/// <param name="str_Message">提示信息,比如:"成功增加数据,单击\"确定\"按钮填写流程,单击\"取消\"修改数据"</param>
/// <param name="btn_Redirect_Flow">"确定"按钮id值</param>
/// <param name="btn_Redirect_Self">"取消"按钮id值</param>
/// <param name="page">Page类</param>
public static void Confirm(string str_Message,string btn_Redirect_Flow,string btn_Redirect_Self)
{
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("","<script> if (confirm('"+str_Message+"')==true){document.forms(0)."+btn_Redirect_Flow+".click();}else{document.forms(0)."+btn_Redirect_Self+".click();}</script>");
}


/**//// <summary>
/// 弹出confirm对话框-激活Botton的事件
/// </summary>
/// <param name="str_Message">提示信息,例子:"您是否确认删除!"</param>
/// <param name="btn">隐藏Botton按钮Id值,比如:btn_Flow</param>
public static void ConfirmMessage(string str_Message,string btn)
{
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("confirm","<script> if(confirm('"+str_Message+"')==true){document.forms(0)."+btn+".click();}</script>");
}

#endregion

提示消息框#region 提示消息框
/**//// <summary>
/// 提示消息框
/// </summary>
/// <param name="str_Message">提示信息</param>
public static void prompt(string str_Message)
{
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("prompt","<script language='JavaScript'>window.prompt('"+str_Message+"');</script>");
}
#endregion
}
wuyq11 2010-03-13
  • 打赏
  • 举报
回复
传递当前页面this到ClassXu 类
private System.Web.UI.Page thisPage;
public Page ThisPage
{
set { thisPage = value; }
get { return thisPage;}
}
cm.RegisterStartupScript(this.thisPage.GetType(), "message", "<script language='javascript' >alert('');</script>");
xupeihuagudulei 2010-03-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 koukoujiayi 的回复:]

兄弟:弹出对话框只能在页面!
不能在类里!类返回对话框的文字,
page.ClientScript.RegisterStartupScript(......)
在页面执行!!
[/Quote]呵呵。
jing644724116 2010-03-13
  • 打赏
  • 举报
回复
wonsoft 2010-03-13
  • 打赏
  • 举报
回复
其实不是你的没有弹出对话框,而是因为这个对话框不像win对话框那样,占用前台,需你确认之后再继续。你跟踪一下你的代码,肯定执行到那儿的。你用一个按钮试试,应当能弹出的。
B/S模式中,获取的页面是一个流,因此你要好了规划一个它出现的位置。我原来也遇到 这个问题,解决起来有点头痛。
koukoujiayi 2010-03-13
  • 打赏
  • 举报
回复
兄弟:弹出对话框只能在页面!
不能在类里!类返回对话框的文字,
page.ClientScript.RegisterStartupScript(......)
在页面执行!!
pdsnet 2010-03-13
  • 打赏
  • 举报
回复
没看贴.
pdsnet 2010-03-13
  • 打赏
  • 举报
回复

/// <summary>
/// 显示消息提示对话框
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
public static void Show(System.Web.UI.Page page,string msg)
{
page.ClientScript.RegisterStartupScript(page.GetType(),"message", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>");
}

/// <summary>
/// 控件点击 消息确认提示框
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
public static void ShowConfirm(System.Web.UI.WebControls.WebControl Control,string msg)
{
//Control.Attributes.Add("onClick","if (!window.confirm('"+msg+"')){return false;}");
Control.Attributes.Add("onclick", "return confirm('" + msg + "');") ;
}

/// <summary>
/// 显示消息提示对话框,并进行页面跳转
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
/// <param name="url">跳转的目标URL</param>
public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)
{
StringBuilder Builder=new StringBuilder();
Builder.Append("<script language='javascript' defer>");
Builder.AppendFormat("alert('{0}');",msg);
Builder.AppendFormat("top.location.href='{0}'",url);
Builder.Append("</script>");
page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());

}
/// <summary>
/// 输出自定义脚本信息
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="script">输出脚本</param>
public static void ResponseScript(System.Web.UI.Page page,string script)
{
page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>" + script + "</script>");

}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧