删除确认问题 lnkButton 点击 弹出确认框, 点确定 显示"AAA"那位来写一下? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lnkButton.Attributes.Add("onclick","confirm('aaaaa?');"); linkbtn.Attributes.Add("onclick","javascript:return confirm('AAA');"); private void Page_Load(object sender, System.EventArgs e){if(!IsPostBack){LinkButton1.Attributes.Add("onclick", "return confirm('你是否确定?');");}}private void LinkButton1_Click(object sender, System.EventArgs e){Response.Write("<script>alert('aaa')</script>");} 我的意思是,确定后的事,如:aspx:datalist绑定后事件-------------------------------------private void dbList_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { foreach(DataListItem Item in dbList.Items) { LinkButton lb = (LinkButton)Item.FindControl("LnkDelete"); string infoMsg = "你是否确定删除"; lb.Attributes["onclick"] = "javascript:ConfirmItem('"+lb.UniqueID+"', '1','"+infoMsg+"');"; } }js:----------------------------------------------------------------<script language="javascript">function ConfirmItem(eventTarget, eventArgument, infoMsg){ var strConfirm; if(eventTarget=="") return; if(infoMsg=="") strConfirm = "提示:此项操作不能被恢复,请确认!"; else strConfirm = infoMsg; ConfirmPostBack(eventTarget, eventArgument, strConfirm); return; } function ConfirmPostBack(eventTarget, eventArgument, infoMsg){ if(confirm(infoMsg)==true) { __doPostBack(eventTarget, eventArgument); return; } return; } </script>----------------------------------------------------------如果是确定,执行一个事件,Response.Write("可以执行");取消:啥都不做 aspx:<asp:datalist id="dbList" runat="server" DataKeyField="ProjectId" OnDeleteCommand="InterestProDel"><ItemTemplate><asp:LinkButton id="LnkDelete" runat="server" CommandName="delete">[删除]</asp:LinkButton></ItemTemplate></asp:datalist>cs:public void InterestProDel(object sender,DataListCommandEventArgs e){ Response.Write("<script>alert('aaa')</script>");}目前情况:不论我是否点确定,都会alert("aaa").取消没用 试试这样写DataGrid2替换DataListprivate void DataGrid2_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { switch(e.Item.ItemType) { case ListItemType.Item: case ListItemType.AlternatingItem: case ListItemType.EditItem: { LinkButton link1=(LinkButton)e.Item.FindControl("LnkDelete"); link1.Attributes.Add("onclick", "return confirm('你是否确定?');"); break; } } }private void DataGrid2_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e){if(e.CommandName=="delete"){ Response.Write("<script>alert('aaa')</script>"); }} to: czsxj(好好学习天天向上) 确认有问题,不执行alert(); 要把confirm的结果返回才行javascript:return ConfirmItem('"+lb.UniqueID+"', '1','"+infoMsg+"');function ConfirmItem(eventTarget, eventArgument, infoMsg){ var strConfirm; if(eventTarget=="") return; if(infoMsg=="") strConfirm = "提示:此项操作不能被恢复,请确认!"; else strConfirm = infoMsg; return ConfirmPostBack(eventTarget, eventArgument, strConfirm);} function ConfirmPostBack(eventTarget, eventArgument, infoMsg){ if(confirm(infoMsg)==true) { __doPostBack(eventTarget, eventArgument); return; } return false; } czsxj(好好学习天天向上) 还是说你上面的说的那个代码吧。简单,能说明问题public class try6 : PageBase { protected System.Web.UI.WebControls.LinkButton LinkButton1; private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { LinkButton1.Attributes.Add("onclick", "return confirm('你是否确定?');"); } // 在此处放置用户代码以初始化页面 } private void LinkButton1_Click(object sender, System.EventArgs e) { ShowAlert("aaa"); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } to fancyf(凡瑞) :你说的很有道理,可不可以说的具体点?是不是在js里返回,加上return,那么怎么在服务器端拿这个值呢? 要想把这个值传到服务器可就要先找个HiddenField来保存confirm的结果,然后再提交了 不知道楼主有没有看过孟子的文章.像这样http://dotnet.aspx.cc/ShowDetail.aspx?id=81277B42-361C-4FAB-9A1E-B661ABE517F5 to renyu732到处是孟子,象做广告一样:) __doPostBack(eventTarget, eventArgument);那位能解释一下上面这句吗?返回值怎么拿呢? hiddenfield.value = confirm(...);然后__doPostBack(eventTarget, eventArgument);在服务器端通过hiddenField.Text来获得用户的选择 帮你顶一下,来晚了,fancy正解. GridView绑定Table的特定列的问题 ipaper 下载 fileupload的问题 求 vs2005、2008 的menu控件,查询sql数据库显示3级菜单的例子 类库问题 fpspread使用问题 请教一个asp结合asp.net 发布的问题,想了几天没想出来,谢谢 datagrid中模版列中添加checkboxlist控件,当激发edit事件时的绑定checkboxlist控件。 HttpModule 会阻塞其它请求进程么? 今天俺23岁生日,也散点分吧! 想换c#程序学习的大侠进来看看! 如何让menuWebMenu_b.aspx在IFrame中打开
lnkButton.Attributes.Add("onclick","confirm('aaaaa?');");
{
if(!IsPostBack)
{
LinkButton1.Attributes.Add("onclick", "return confirm('你是否确定?');");
}
}
private void LinkButton1_Click(object sender, System.EventArgs e)
{
Response.Write("<script>alert('aaa')</script>");
}
aspx:datalist绑定后事件
-------------------------------------
private void dbList_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
foreach(DataListItem Item in dbList.Items)
{
LinkButton lb = (LinkButton)Item.FindControl("LnkDelete");
string infoMsg = "你是否确定删除";
lb.Attributes["onclick"] = "javascript:ConfirmItem('"+lb.UniqueID+"', '1','"+infoMsg+"');"; } }
js:
----------------------------------------------------------------
<script language="javascript">
function ConfirmItem(eventTarget, eventArgument, infoMsg)
{
var strConfirm; if(eventTarget=="")
return;
if(infoMsg=="")
strConfirm = "提示:此项操作不能被恢复,请确认!";
else
strConfirm = infoMsg;
ConfirmPostBack(eventTarget, eventArgument, strConfirm);
return;
}
function ConfirmPostBack(eventTarget, eventArgument, infoMsg)
{
if(confirm(infoMsg)==true)
{
__doPostBack(eventTarget, eventArgument);
return;
}
return;
}
</script>
----------------------------------------------------------
如果是确定,执行一个事件,Response.Write("可以执行");
取消:啥都不做
<asp:datalist id="dbList" runat="server" DataKeyField="ProjectId" OnDeleteCommand="InterestProDel">
<ItemTemplate>
<asp:LinkButton id="LnkDelete" runat="server" CommandName="delete">[删除]</asp:LinkButton>
</ItemTemplate>
</asp:datalist>
cs:
public void InterestProDel(object sender,DataListCommandEventArgs e)
{
Response.Write("<script>alert('aaa')</script>");
}目前情况:不论我是否点确定,都会alert("aaa").取消没用
private void DataGrid2_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{
LinkButton link1=(LinkButton)e.Item.FindControl("LnkDelete");
link1.Attributes.Add("onclick", "return confirm('你是否确定?');"); break;
}
}
}private void DataGrid2_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="delete")
{
Response.Write("<script>alert('aaa')</script>");
}
}
确认有问题,不执行alert();
javascript:return ConfirmItem('"+lb.UniqueID+"', '1','"+infoMsg+"');function ConfirmItem(eventTarget, eventArgument, infoMsg)
{
var strConfirm; if(eventTarget=="")
return;
if(infoMsg=="")
strConfirm = "提示:此项操作不能被恢复,请确认!";
else
strConfirm = infoMsg;
return ConfirmPostBack(eventTarget, eventArgument, strConfirm);
} function ConfirmPostBack(eventTarget, eventArgument, infoMsg)
{
if(confirm(infoMsg)==true)
{
__doPostBack(eventTarget, eventArgument);
return;
}
return false;
}
还是说你上面的说的那个代码吧。简单,能说明问题
public class try6 : PageBase
{
protected System.Web.UI.WebControls.LinkButton LinkButton1;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
LinkButton1.Attributes.Add("onclick", "return confirm('你是否确定?');");
}
// 在此处放置用户代码以初始化页面
}
private void LinkButton1_Click(object sender, System.EventArgs e)
{
ShowAlert("aaa");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
你说的很有道理,可不可以说的具体点?是不是在js里返回,加上return,那么怎么在服务器端拿这个值呢?
像这样
http://dotnet.aspx.cc/ShowDetail.aspx?id=81277B42-361C-4FAB-9A1E-B661ABE517F5
到处是孟子,象做广告一样:)
返回值怎么拿呢?
然后__doPostBack(eventTarget, eventArgument);
在服务器端通过hiddenField.Text来获得用户的选择