弹出提示框不刷新页面 http://blog.sina.com.cn/s/blog_5200dd680100mkk0.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('不刷新!');</script>"); 不可能的,只要是服务器端执行,都会挥发操作,页面必刷新。3个方法1ajaxpro2处理,2updatepanel包裹,3ajax异步操作,这样就可以在本页面直接js弹窗处理 +1024说的没错.习惯用ajaxpro处理 [webmethod]public string aa(string msg){ string cmd="alert('"+msg+"')"; return cmd;}var cmd=defautl.aa("后台弹出?").value;eval(cmd);很喜欢这样用 第2个我知道,ajaxpro2和ajax异步操作这两个有没有例子啊 度娘 jquery.ajax 或者:http://www.ostools.net/apidocs/apidoc?api=jquery 关键我不知道你要怎样的DEMO <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /><asp:TextBox ID="txtName" runat="server"></asp:TextBox>protected void Button1_Click(object sender, EventArgs e) { if (txtName.Text == "") { //弹出提示框 } } <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:return valid();" onclick="Button1_Click" /><asp:TextBox ID="txtName" runat="server"></asp:TextBox> function valid() { var txtName =document.getElementById("<%=txtName.ClientID %>").value; if(txtName == "") { alert("用户名不能为空"); document.getElementById("<%=txtName.ClientID %>").onfocus(); return false; } else { return true; } } 写上这个方法,在调用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>"); }要用的时候调用即可 HQSoft.Common.MessageBox.Show(this, "没有该记录!"); return; 这个不难,设个id,runat server,然后在后台的时候就可以功过id找到控件,还原为原型,然后通过设置属性的方式,传递给前台的一个jquery方法。一般的设计原则也最好这样,前台和后台的结合。特别是当 server side 和 client side 都需要做同样的事件时,这样的最好的。 上面说的“Generic Handler”即,一般处理程序,一般是用来处理图片的,比如做个验证码等。他内置的,其实和 aspx还是要分开的好,很多人就拿aspx去做图片,就如我说的验证码,不是不行,而是不需要,因为本来aspx能够处理很多东西,如果单单是做这些的话,效率,速度就慢了,因为aspx本来就精致好多功能,加载或运行的时候,效率自然低了,是吧。 找一个jquery插件,然后在cs后台封装一下,后台该怎么调用还是怎么调用。前台也是无刷新的。http://www.open-lib.com/Type/175-1.jsp类似于:/// <summary> /// 点击确定按钮之后跳转 /// </summary> /// <param name="page">当前页面</param> /// <param name="msg">提示的信息</param> /// <param name="url">点击之后跳转的页面</param> public static void artprompt(Page page, string title, string msg, string url) { string myScript = "/js1/easydialog/easydialog.min.js"; page.Page.ClientScript.RegisterClientScriptInclude("myKeymy", myScript); string jsmsg = "<script language='javascript' > var btnFn = function(){ window.location.href = '" + url + "'; }; easyDialog.open({ " + " container: { " + " header: '" + title + "', " + " content: '" + msg + "', " + " yesFn: btnFn " + " } " + " });</script>"; page.ClientScript.RegisterStartupScript(page.GetType(), "message", jsmsg); } Button1.Attributes.Add("onclick", "alert(123)"); http://www.cnblogs.com/chinhr/archive/2008/09/08/1286803.html 邮了一个件~~再不会、、、OMG你Q我吧。 他的意思是一些数据操作都是在后台方法进行操作的,操作完成后会返回一个自定义的值给前台来判断操作是否成功。比如后台操作成功返回msg=OK或msg=No,前台拿msg值然后js判断弹出提示就可以了 1、弹出提示框代码:ScriptManager.RegisterStartupScript(this.Page, this.GetType(),"onekey", "alert('弹出')", true); 2、 需要在配合UpdatePanel控件使用: a) 在Page_Load方法中用ScriptManager1.RegisterAsyncPostBackControl()来注册一下要实现异步更新的控件 b) 把页面上所有的UpdatePanel控件的UpdateMode设为Conditional。 c) ScriptManager1.RegisterAsyncPostBackControl(this.Button2);实现对Button2的注册。 d) 在Button2控件的Click事件中后面加入后面的代码:UpdatePanel1.Update(); 这样Button2按钮只对UpdatePanel1控件实现的异步的局部刷新。尽量使UpdatePanel1包含的控件少,局部刷新就快。 提示框代码ScriptManager.RegisterStartupScript(this.Page, this.GetType(),"onekey", "alert('弹出')", true);也写在Button2控件的 Click事件中,这样弹出的提示框实质是有部分刷新,但几乎是达到无刷新效果。我试过了,成功了。 问一下高手做音乐网站的问题 关于gridview的一些问题,求教大家:) 动态生成DIV的问题 关于dataset 请问我自然数的正则表达式怎么写 TextBox_TextChanged和DropDownList_SelectedIndexChanged同时触发的问题 如何将‘DBNull’数据类型转换为其他类型? 日期型的一个问题 请saucer(思归)和各位看看原因 KenWang.SQLDAL绝对引入 如何在WEB里通过WEB BUTTON 执行 JAVASCRIPT函数 没分了 帮个忙 小问题 如何生产EXE文件 实现像QQ邮箱中草稿箱的效果
1ajaxpro2处理,2updatepanel包裹,3ajax异步操作,这样就可以在本页面直接js弹窗处理
+1024说的没错.
习惯用ajaxpro处理 [webmethod]
public string aa(string msg)
{
string cmd="alert('"+msg+"')";
return cmd;
}
var cmd=defautl.aa("后台弹出?").value;
eval(cmd);
很喜欢这样用
关键我不知道你要怎样的DEMO
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>protected void Button1_Click(object sender, EventArgs e)
{
if (txtName.Text == "")
{
//弹出提示框
}
}
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="javascript:return valid();" onclick="Button1_Click" />
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
function valid()
{
var txtName =document.getElementById("<%=txtName.ClientID %>").value;
if(txtName == "")
{
alert("用户名不能为空");
document.getElementById("<%=txtName.ClientID %>").onfocus();
return false;
}
else
{
return true;
}
}
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>");
}要用的时候调用即可
HQSoft.Common.MessageBox.Show(this, "没有该记录!");
return;
一般的设计原则也最好这样,前台和后台的结合。
特别是当 server side 和 client side 都需要做同样的事件时,这样的最好的。
找一个jquery插件,然后在cs后台封装一下,后台该怎么调用还是怎么调用。前台也是无刷新的。
http://www.open-lib.com/Type/175-1.jsp类似于:/// <summary>
/// 点击确定按钮之后跳转
/// </summary>
/// <param name="page">当前页面</param>
/// <param name="msg">提示的信息</param>
/// <param name="url">点击之后跳转的页面</param>
public static void artprompt(Page page, string title, string msg, string url)
{
string myScript = "/js1/easydialog/easydialog.min.js";
page.Page.ClientScript.RegisterClientScriptInclude("myKeymy", myScript);
string jsmsg = "<script language='javascript' > var btnFn = function(){ window.location.href = '" + url + "'; }; easyDialog.open({ "
+ " container: { "
+ " header: '" + title + "', "
+ " content: '" + msg + "', "
+ " yesFn: btnFn "
+ " } "
+ " });</script>";
page.ClientScript.RegisterStartupScript(page.GetType(), "message", jsmsg);
}
Button1.Attributes.Add("onclick", "alert(123)");
邮了一个件~~再不会、、、OMG你Q我吧。
2、 需要在配合UpdatePanel控件使用:
a) 在Page_Load方法中用ScriptManager1.RegisterAsyncPostBackControl()来注册一下要实现异步更新的控件
b) 把页面上所有的UpdatePanel控件的UpdateMode设为Conditional。
c) ScriptManager1.RegisterAsyncPostBackControl(this.Button2);实现对Button2的注册。
d) 在Button2控件的Click事件中后面加入后面的代码:UpdatePanel1.Update();
这样Button2按钮只对UpdatePanel1控件实现的异步的局部刷新。尽量使UpdatePanel1包含的控件少,局部刷新就快。
提示框代码ScriptManager.RegisterStartupScript(this.Page, this.GetType(),"onekey", "alert('弹出')", true);也写在Button2控件的 Click事件中,这样弹出的提示框实质是有部分刷新,但几乎是达到无刷新效果。我试过了,成功了。