如何在一段代码中写一个弹出确认框的代码,再根据确认框返回的值,分别执行哪几行代码?如:在一个gridview中有个checkbox,选中时,执行一段代码,不选中时,弹出确认框,如果确认框中点的确定又相应的执行一段代码,点取消,刚跳出这个事件过程。谢谢。
解决方案 »
- .net ASP IIS 调用客户端打印机
- State问题
- 固定gridview表头
- (分享)ASP.NET分页导航代码
- 出一个输入输出都简单,但是有点难的题目
- URLRewriter重写URL后ASPX的可以,HTML的:找不到网页
- 请问Sql server查询结果是null的字段用0表示如何实现
- 问个简单问题,散分
- HtmlInputFile如何保持状态?让他刷新之后,HtmlInputFile筐中的值还存在
- 一个上传文件的页面,已经上传成功,并更新数据库了,按“刷新”按钮,还继续传,而且再一遍更新数据库,怎么解决?
- 如何用JS获得动态创建的控件的类型属性??如为textbox或dropDownList..
- RSS、Web Service、xml问题,有一定难度!!
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton linkButton = (LinkButton) e.Row.FindControl("LinkButton2");
if (linkButton != null)
linkButton.Attributes.Add("OnClick", "return confirm('确认删除?')");
}类似,请借鉴下吧,我有点累了.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridView.aspx.cs" Inherits="aaaa_GridView" %><!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">
function change(obj)
{
if(obj.checked)
document.getElementById('btnOne').click();
else
{
if(confirm('是否继续执行?'))
document.getElementById('btnTwo').click();
else
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="ckb" runat="server" onclick="change(this);"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="名称" />
<asp:BoundField DataField="Unit" HeaderText="单位"/>
<asp:BoundField DataField="Standard" HeaderText="规格"/>
<asp:BoundField DataField="Quantity" HeaderText="数量"/>
</Columns>
</asp:GridView>
<asp:DropDownList ID="ddl" runat="server">
</asp:DropDownList>
<asp:Button ID="btnOne" runat="server" Width="0px" OnClick="btnOne_Click" />
<asp:Button ID="btnTwo" runat="server" Width="0px" OnClick="btnTwo_Click" /> </div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 aaaa_GridView : System.Web.UI.Page
{
protected DataTable getDataTable()
{ System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("Unit", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("Standard", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("Quantity", typeof(System.Int32)));
dr = dt.NewRow();
dr[0] = "黑色圆珠笔";
dr[1] = "枝";
dr[2] = "2*2";
dr[3] = 10;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "红色圆珠笔";
dr[1] = "枝";
dr[2] = "2*2";
dr[3] = 15;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "黄色圆珠笔";
dr[1] = "枝";
dr[2] = "2*2";
dr[3] = 20;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "蓝色圆珠笔";
dr[1] = "枝";
dr[2] = "2*2";
dr[3] = 18;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "辰光签字笔";
dr[1] = "枝";
dr[2] = "2*2";
dr[3] = 15;
dt.Rows.Add(dr);
return dt;
} private void ddlDataBind(DataTable dt)
{
for (int i=0; i < dt.Rows.Count; i++)
{
ddl.Items.Add(new ListItem("名称: " + dt.Rows[i]["Name"].ToString() + " 规格: " + dt.Rows[i]["Standard"].ToString(), dt.Rows[i]["Quantity"].ToString()));
}
} protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
gv.DataSource = getDataTable();
gv.DataBind();
ddlDataBind(getDataTable());
}
}
protected void btnOne_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('checked=true')</script>");
}
protected void btnTwo_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('confirm=true')</script>");
}
}
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function change(obj)
{
if(obj.checked)
document.getElementById('btnOne').click();
else
{
if(confirm('是否继续执行?'))
document.getElementById('btnTwo').click();
else
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TxtB_yjm" runat="server"></asp:TextBox>
<asp:TextBox ID="TxtB_ejm" runat="server" Width="298px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="确定" />
<table border="1"><tr> <td valign ="top" ><asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="一级编码">
<Columns>
<asp:BoundField DataField="一级编码" HeaderText="一级编码" SortExpression="一级编码" />
<asp:TemplateField HeaderText="一级科目" SortExpression="一级科目">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("一级科目") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("一级科目") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="运算符号">
<ItemTemplate>
<asp:DropDownList ID="DDL_ysgx"
runat="server" AutoPostBack ="true" OnSelectedIndexChanged="DDL_ysgx_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="" Value=""></asp:ListItem>
<asp:ListItem Text="+" Value="+"></asp:ListItem>
<asp:ListItem Text="-" Value="-"></asp:ListItem>
<asp:ListItem Text="*" Value="*"></asp:ListItem>
<asp:ListItem Text="/" Value="/"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" onclick="change(this);" />
<asp:Button ID="btnOne" runat="server" Width="2px" OnClick="btnOne_Click" />
<asp:Button ID="btnTwo" runat="server" Width="2px" OnClick="btnTwo_Click" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="Btn_xugai" runat="server" OnClick="Btn_xugai_Click">选择</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td><td valign="top">
<asp:GridView ID="GridView2" runat="server" EmptyDataText="没有相应的二级科目!" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="二级编码" HeaderText="二级编码" SortExpression="二级编码" />
<asp:TemplateField HeaderText="二级科目" SortExpression="二级科目">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("二级科目") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("二级科目") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="运算符号">
<ItemTemplate>
<asp:DropDownList ID="DDL_ysgx"
runat="server" AutoPostBack ="false" OnSelectedIndexChanged="DDL_ysgx_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="" Value=""></asp:ListItem>
<asp:ListItem Text="+" Value="+"></asp:ListItem>
<asp:ListItem Text="-" Value="-"></asp:ListItem>
<asp:ListItem Text="*" Value="*"></asp:ListItem>
<asp:ListItem Text="/" Value="/"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="选择">
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"/>
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged1" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView></td></tr></table>
</div>
<input type="hidden" id="hidConfirm" name="hidConfirm" />
<asp:Button ID="Button2" runat="server" Text="Button" />
<asp:TextBox ID="TxtB00" runat="server"></asp:TextBox> </form>
</body><script language ="javascript">
function lk()
{
if( confirm("xx") )
{
document.getElementById('hidConfirm').value = '1'
}
else
{
document.getElementById('hidConfirm').value = '0'
} }
</script></html>
Inherits System.Web.UI.Page
Dim myconnectionstr As String = System.Configuration.ConfigurationManager.ConnectionStrings("cw_cbConnectionString").ConnectionString
Dim myconn As New SqlConnection(myconnectionstr)
Dim myadapter As New SqlDataAdapter
Dim myadapter2 As New SqlDataAdapter Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
myconn.Open()
Dim sqlstr As String = "select distinct rtrim(ltrim(一级编码)) as 一级编码 ,一级科目 from zdk"
myadapter = New SqlDataAdapter(sqlstr, myconnectionstr)
Dim myds As New DataSet
myadapter.Fill(myds)
Me.GridView1.DataSource = myds
Me.GridView1.DataBind()
myconn.Close() End If
End Sub
Protected Sub btnTwo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim oButton As Button
Dim oGridViewRow As GridViewRow
Dim iRowIndex As Integer oButton = CType(sender, Button)
'取得控制項所屬性 GridViewRow
oGridViewRow = CType(oButton.BindingContainer, GridViewRow) '取得目前 GridViewRow 的索引
iRowIndex = oGridViewRow.RowIndex
Dim tmpyjm As String = GridView1.Rows(iRowIndex).Cells(0).Text
'Dim stryjm As String
'以下显示出相应的二级编码 'myconn.Open()
'Dim sqlstr As String = "select distinct rtrim(ltrim(二级编码)) as 二级编码,二级科目 from zdk where 一级编码='" & tmpyjm & "'"
'myadapter2 = New SqlDataAdapter(sqlstr, myconnectionstr)
'Dim myds2 As New DataSet
'myadapter2.Fill(myds2)
'Me.GridView2.DataSource = myds2
'Me.GridView2.DataBind()
' myconn.Close()
'以上显示出相应的二级编码
' Dim ll As Integer
' Response.Write("m=" & Request.Form("hidConfirm"))
' If (Request.Form("hidConfirm")) = "1" Then 'Response.Write("表示客户端 点了 OK ") ' Else
' Response.Write("m=" & Request.Form("hidConfirm"))
'Response.Write("表示客户端 点了 Cancel 或 没有点 ")
' End If Me.GridView2.Visible = False
' CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("CheckBox1"), CheckBox).Attributes.Add("onclick", "JavaScript:return confirm('真的准备删除吗?')")
CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).Enabled = True
'没选一级编码,二级编码不能选择 ' For ll = 0 To Me.GridView2.Rows.Count - 1
' CType(GridView2.Rows(ll).Cells(2).FindControl("CheckBox1"), CheckBox).Enabled = False
' Next '删除该一级编码对应的所有二级编码
Dim aa As Integer, bb As Integer
Dim j As Integer, str_ejm As String, array() As String, array2() As String, str1 As String, str2 As String
j = Len(Trim(TxtB_yjm.Text)) / 6 '一级编码加上运算符号加上“/”共6位 ,得出有多少个一级编码
array = TxtB_yjm.Text.Split("/") '得出以/为分隔符的字符串数组
For aa = 0 To j
If Right(Trim(array(aa)), Len(Trim(array(aa))) - 1) = tmpyjm Then
bb = aa + 1 '得出相应要删除的二级编码是数组中的哪个元素
'Response.Write(array(aa))
Exit For
End If
Next
array2 = TxtB_ejm.Text.Split("n") str_ejm = array2(bb) '得出要删除的二级编码字符串
str1 = ""
str2 = ""
Dim cc As Integer, dd As Integer
For cc = 1 To bb - 1
str1 = str1 & "n" & array2(cc)
Next
For dd = bb + 1 To j
str2 = str2 & "n" & array2(dd)
Next
'str1 = Left(Trim(str1), Len(Trim(str1)) - 1)
TxtB_ejm.Text = str1 & str2
'删除该一级编码 CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).SelectedValue = ""
Dim delyjm As String, i As Integer
i = TxtB_yjm.Text.IndexOf(tmpyjm) - 1
delyjm = TxtB_yjm.Text.Substring(i, Len(tmpyjm) + 2)
TxtB_yjm.Text = TxtB_yjm.Text.Replace(delyjm, "")
End Sub Protected Sub btnOne_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim oButton As Button
Dim oGridViewRow As GridViewRow
Dim iRowIndex As Integer oButton = CType(sender, Button)
'取得控制項所屬性 GridViewRow
oGridViewRow = CType(oButton.BindingContainer, GridViewRow) '取得目前 GridViewRow 的索引
iRowIndex = oGridViewRow.RowIndex
Dim tmpyjm As String = GridView1.Rows(iRowIndex).Cells(0).Text
Dim stryjm As String
'以下显示出相应的二级编码 'myconn.Open()
'Dim sqlstr As String = "select distinct rtrim(ltrim(二级编码)) as 二级编码,二级科目 from zdk where 一级编码='" & tmpyjm & "'"
'myadapter2 = New SqlDataAdapter(sqlstr, myconnectionstr)
'Dim myds2 As New DataSet
'myadapter2.Fill(myds2)
'Me.GridView2.DataSource = myds2
'Me.GridView2.DataBind()
' myconn.Close()
'以上显示出相应的二级编码
' Dim ll As Integer ' If CType(GridView1.Rows(iRowIndex).Cells(2).FindControl("CheckBox1"), CheckBox).Checked = True Then
' Me.GridView2.Visible = True CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).Enabled = False If CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).SelectedValue = "" Then stryjm = "+" & tmpyjm
Else
stryjm = CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).SelectedValue & tmpyjm '默认是加号
End If
TxtB_yjm.Text = TxtB_yjm.Text & stryjm & "/"
'If TxtB_ejm.Text <> "" Then
TxtB_ejm.Text = TxtB_ejm.Text & "n"
' End If ' For ll = 0 To Me.GridView2.Rows.Count - 1
' CType(GridView2.Rows(ll).Cells(3).FindControl("CheckBox1"), CheckBox).Enabled = True
' Next
'Else
'================================================== ' End If
End SubEnd Class
Dim oGridViewRow As GridViewRow
Dim iRowIndex As Integer oButton = CType(sender, Button)
'取得控制項所屬性 GridViewRow
oGridViewRow = CType(oButton.BindingContainer, GridViewRow) '取得目前 GridViewRow 的索引
iRowIndex = oGridViewRow.RowIndex
Dim tmpyjm As String = GridView1.Rows(iRowIndex).Cells(0).Text
Me.GridView2.Visible = False
CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).Enabled = True
Dim aa As Integer, bb As Integer
Dim j As Integer, str_ejm As String, array() As String, array2() As String, str1 As String, str2 As String
j = Len(Trim(TxtB_yjm.Text)) / 6 '一级编码加上运算符号加上“/”共6位 ,得出有多少个一级编码
array = TxtB_yjm.Text.Split("/") '得出以/为分隔符的字符串数组
For aa = 0 To j
If Right(Trim(array(aa)), Len(Trim(array(aa))) - 1) = tmpyjm Then
bb = aa + 1 '得出相应要删除的二级编码是数组中的哪个元素
'Response.Write(array(aa))
Exit For
End If
Next
array2 = TxtB_ejm.Text.Split("n") str_ejm = array2(bb) '得出要删除的二级编码字符串
str1 = ""
str2 = ""
Dim cc As Integer, dd As Integer
For cc = 1 To bb - 1
str1 = str1 & "n" & array2(cc)
Next
For dd = bb + 1 To j
str2 = str2 & "n" & array2(dd)
Next
'str1 = Left(Trim(str1), Len(Trim(str1)) - 1)
TxtB_ejm.Text = str1 & str2 CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).SelectedValue = ""
Dim delyjm As String, i As Integer
i = TxtB_yjm.Text.IndexOf(tmpyjm) - 1
delyjm = TxtB_yjm.Text.Substring(i, Len(tmpyjm) + 2)
TxtB_yjm.Text = TxtB_yjm.Text.Replace(delyjm, "")
End Sub Protected Sub btnOne_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim oButton As Button
Dim oGridViewRow As GridViewRow
Dim iRowIndex As Integer oButton = CType(sender, Button)
'取得控制項所屬性 GridViewRow
oGridViewRow = CType(oButton.BindingContainer, GridViewRow) '取得目前 GridViewRow 的索引
iRowIndex = oGridViewRow.RowIndex
Dim tmpyjm As String = GridView1.Rows(iRowIndex).Cells(0).Text
Dim stryjm As String
CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).Enabled = False If CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).SelectedValue = "" Then stryjm = "+" & tmpyjm
Else
stryjm = CType(GridView1.Rows(iRowIndex).Cells(3).FindControl("DDL_ysgx"), DropDownList).SelectedValue & tmpyjm '默认是加号
End If
TxtB_yjm.Text = TxtB_yjm.Text & stryjm & "/" TxtB_ejm.Text = TxtB_ejm.Text & "n"
End Sub
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" onclick="change(this);" /> AutoPostBack="true"
把它去了
<script language="javascript" type="text/javascript">
function change(obj)
{
var el=obj.parentNode.getElementsByTagName('input');
var btnOne,btnTwo;
for(var i=0;i<el.length;i++)
{
if(el[i].type=="submit")
{
if(el[i].id.indexOf("btnOne")!=-1)
btnOne=el[i];
else if(el[i].id.indexOf("btnTwo")!=-1)
btnTwo=el[i];
}
}
if(obj.checked)
btnOne.click();
else
{
if(confirm('是否继续执行?'))
btnTwo.click();
else
return false;
}
}
</script>这样就OK了
应该就是这里了,是这样没法找到btnone这个控件,得先找到gridview,然后再在gridview里的某一行找到btnone
,请问这句应该怎么写了?