在 add.aspx.CS 文件中:
protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
//执行完提交操作
//我想在这里写一段 js 脚本,实现用户的确实操作: “您是否还要继续填加新的文章”,如果用户点击 “确定”,就返回原页面(或是跳转到某一固定页面,比如:add.aspx),
如果用户点击 “取消” ,则关闭当前窗口,即 add.aspx. Response.Write("<script>在这里实现上述功能,要如何写 js 代码呢</script>");}
求高手帮忙!万分感谢!
protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
//执行完提交操作
//我想在这里写一段 js 脚本,实现用户的确实操作: “您是否还要继续填加新的文章”,如果用户点击 “确定”,就返回原页面(或是跳转到某一固定页面,比如:add.aspx),
如果用户点击 “取消” ,则关闭当前窗口,即 add.aspx. Response.Write("<script>在这里实现上述功能,要如何写 js 代码呢</script>");}
求高手帮忙!万分感谢!
CommandArgument='<%# Eval("id") %>' CommandName="Select" Text="添加文章"
onclientclick="return confirm('您是否还要继续填加新的文章?')"></asp:LinkButton>
再按照用户的不同需求
或是回到原页面,或是关闭窗口,你的答案不是我说的意思。
{
if ( !Page.IsPostBack )
{
webTools.InsertConfirmOnButtonClick(this.lbtnDeleteCode, "您确实要删除所选数据吗?", commandInputCode);
}
} protected void lbtnDeleteCode_Click(object sender, System.EventArgs e)
{
if (commandInputCode.Value != "undefined")
{
switch ((Enum_YesOrNo)Convert.ToInt16(commandInputCode.Value))
{
case Enum_YesOrNo.Yes:
ModuleAssistCodeGrid.DeleteAssistCode();
break;
case Enum_YesOrNo.No:
return;
break;
}
}
}
{
var ret = confirm('提示:\r\n是否要删除当前人员?警告:删除后当前人员下的办件也将被删除!\r\n您确认要提交吗?');
if(ret)
{
<%=PostBack()%>
}
else
{
return false;
}
return;
}
</script><script language="javascript" type="text/javascript">
function keyDown()
{
var keycode=event.keyCode;
if(keycode==13)
{
var btt = document.getElementById("UserGridModule1_btnSearch");
btt.focus();
}
protected void btnDel_Click(object sender, EventArgs e)
{
//string id = string.Empty; Page.RegisterStartupScript("confrim", "<script> OpenConfrimWindwo();</script>");
if (!ValidateTrue())//如果用户点了否则退出程序 不继续执行
{
return;
} }
private const string CALLBACK_KEY = "IsCallBackResult";
protected string PostBack() //定义POSTBACK脚本参数
{
return Page.GetPostBackEventReference(btnHiddent, CALLBACK_KEY);
} protected void btnHiddent_ServerClick(object sender, EventArgs e)
{ string id = string.Empty;
foreach (DataGridItem item in this.dgData.Items)
{
CheckBox chk = (CheckBox)item.FindControl("chkMark");
if (chk.Checked)
{
id += item.Cells[1].Text + ",";
}
}
if (id.Length > 0)
{
id = id.Substring(0, id.Length - 1);
if (new FileFlowSystem(this.UserSessionID).DeleteUserRenYuan(id))
{ BindGrid(String.Empty, String.Empty);
}
else
{
webTools.InsertAlert(this.Page, "删除失败!");
}
}
else
{
webTools.InsertAlert(this.Page, "请选择要删除项!");
}
}
private bool ValidateTrue()
{
if (Request["__EVENTARGUMENT"].Trim().Equals(CALLBACK_KEY))
{
return true;
}
else
{
return false;
}
}
} document.onkeydown=keyDown;
</script><input id="btnHiddent" visible="false" type="submit" value="submit" runat="server"
onserverclick="btnHiddent_ServerClick" />
Response.Write(" <script>if (confirm('您是否还要继续填加新的文章?')) { window.location.href='http://www.baidu.com'; return false;} </script>"); 以上代码放到 aspx.CS 里根本不执行啊 ?!
{
//执行完提交操作
//我想在这里写一段 js 脚本,实现用户的确实操作: “您是否还要继续填加新的文章”,如果用户点击 “确定”,就返回原页面(或是跳转到某一固定页面,比如:add.aspx),
如果用户点击 “取消” ,则关闭当前窗口,即 add.aspx. this.Attributes["onclick"]="return confirm(确定要执行操作吗?);";}
Confirm这样的js语句是在客户端执行当js的确认对话框弹出来的时候是在你的机器上的浏览器中产生了一个阻塞,等待确认,这个时候与服务器毫不相关,服务器可能在美国,他不知道你这里点击了什么。所以在你的机器上是无法阻塞服务器的,而且也不可以这么做。
{
//执行完提交操作
//我想在这里写一段 js 脚本,实现用户的确实操作: Page.ClientScript.RegisterStartupScript(GetType(),"","<script>if(confirm('您要继续添加吗?'))window.open('add.aspx','_self')else {window.opener=null;window.close();}</script>");}
if(confirm('您要继续添加吗?'))window.open('add.aspx','_self') else
中间有空格
protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
//执行完提交操作
//我想在这里写一段 js 脚本,实现用户的确实操作: Response.Write("<script>window.alert('此信息成功发送!');window.opener=null;window.close();</script>"); } 以上代码执行正确,但是以上代码实现的是当执行完提交后,弹出一个对话框“此信息成功发送”,然后,点击,确定后,关闭此窗口,以上代码执行一切正常。-------------------我现在想实想的就是:也是弹出一个确认框,不过,这个确认框需求变了一下: 改为“您是否还要继续填加新的文章”,如果用户点击 “确定”,就返回原页面(或是跳转到某一固定页面,比如:add.aspx),
如果用户点击 “取消” ,则关闭当前窗口,即 add.aspx.
--------------我感觉我想实想的功能和要求是很正常的,在 .CS 文件代码中弹出 js 的对话框也是很正常的,而且我贴出的代码已经实现了,只不过,我现在的要求变化一下,为什么jinjazz 这个两个红星的大侠说出"js只能做js该做的事情,实际上就是操作你本地的浏览器,他没有办法干涉到服务器端代码如何运行。非要他和服务器充分交互就只能用ajax这样的方式重新对服务器发送请求"
这样的话,我也是很不理解
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Add.aspx.cs" Inherits="MyVs2008.Add" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
<!--
//确认:
//HiddenFieldClientID为隐藏控件HiddenField1的客户端ID
function test(HiddenFieldClientID)
{
//确认
if(confirm("确认添加吗?"))
{
//确认后给个字符串值"true"
document.getElementById(HiddenFieldClientID).value = "true"; }
else
{
//确认后给个字符串值"false"
document.getElementById(HiddenFieldClientID).value = "false";
}
return true;
}
//-->
</script>
</head>
<body> <form id="form1" runat="server">
<div>
<!-- 隐藏控制 -->
<asp:HiddenField ID="HiddenField1" runat="server" />
<!-- 确认 -->
<asp:Button ID="Button1" runat="server" Text="Add" onclick="Button1_Click" />
</div>
</form>
</body>
</html>
后台代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;namespace MyVs2008
{
public partial class Add : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//脚本注册
if (!Page.IsPostBack)
{
this.Button1.Attributes.Add("onclick","return test('"+ this.HiddenField1.ClientID +"');");
}
} protected void Button1_Click(object sender, EventArgs e)
{
//得到确实的值
string temp = this.HiddenField1.Value;
//确认
if (temp == "true")
{
//调转到sina
Response.Write("<script language='javascript'>parent.location.href='http://www.sina.com.cn';</script>");
}
else
{
//关闭
Response.Write("<script language='javascript'>window.close();</script>");
}
}
}
}
{
if (confirm('您是否还要继续填加新的文章?'))
{
window.open("http://www.baidu.com");
return true;
}
} 在page_load事件中添加btnAdd按纽的客户端事件:
abtAdd.attribute.add("onclick","confirmFun();");
{
//得到确实的值
string temp = this.HiddenField1.Value;
//确认
if (temp == "true")
{
//调转到sina
Response.Write(" <script language='javascript'>parent.location.href='http://www.sina.com.cn'; </script>");
///****************我这里不但是可以调转页面。还可以进行后台代码编写
//采用隐藏控件做是最好的。当然如果只是调转可以完全在JS里写。类似楼上的说的
}
else
{
//关闭
Response.Write(" <script language='javascript'>window.close(); </script>");
}
}
Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>if(confirm('您要继续添加吗?')==false){window.opener=null;window.close();}</script>"); 此方法是只回到本页面。
Response.Write("<script>if (confirm('continue...???')) {window.location = '" + Request.Url + "'} else {window.location.href='Default.aspx'}</script>");