关于在GuidView行模板中Button控件的OnClientClick函数,绑定参数的问题!

问题描述

各位大虾:现在在guidview的行模板里面有个button,针对button有OnClientClick和OnClick两个函数,希望先执行OnClientClick进行判断,返回true的情况下再执行OnClick遇到的问题是:OnClientClick的javascript函数有个参数是通过数据库邦定的我写的是:OnClientClick='returnCheckDelete("<%#Eval("DownloadID").ToString()%>");'但是始终不执行这个CheckDelete,请问这个OnClientClick应该怎么写呀?下面是这个行模板里面这个控件的整个代码:<asp:ButtonID="DeleteButton"runat="server"CssClass="Button_PicNewOne_ForDelete_Edit"Text="删除"OnClientClick='javascript:CheckDelete("<%#Eval("DownloadID").ToString()%>");'/>

解决方案

解决方案二:
你查看下网页源代码呢?看生成的代码是什么?
解决方案三:
查看页码源代码看下这个生成的HTML是什么样子的,感觉上拼接字符串没拼好。
解决方案四:
看不到源代码,使用的是网上的ASPxGridView空间,封装了的还有其他办法么??
解决方案五:
Refer:
解决方案六:
你那个<%#Eval("DownloadID").ToString()%>要是一直都是一样的那就直接放在那里就好了,要是每次onclientclick都要去数据库拿新的数据的话那就只有用ajax了.jqeury的get直接反问后台要不你不可能有那个数据的.http://api.jquery.com/jquery.get/
解决方案七:
引用4楼insus的回复:

Refer:

感谢关注,但是这个方法在我这里使用不是很合适,如果是把button放在grid内部,如何才能达到效果??
解决方案八:
引用5楼u012092968的回复:

你那个<%#Eval("DownloadID").ToString()%>要是一直都是一样的那就直接放在那里就好了,要是每次onclientclick都要去数据库拿新的数据的话那就只有用ajax了.jqeury的get直接反问后台要不你不可能有那个数据的.http://api.jquery.com/jquery.get/

请问一下,你说的"一直是一样的"是什么意思呢???我这里如果是grid已经加载了数据,则不回改变,除非点击button后,删除一条数据然后刷新页面加载的数据才少一条,但是在加载数据后,这个语句则是不会改变的....
解决方案九:
<DataItemTemplate><ahref="javascript:Edit_Click('<%#Eval("银行编码")%>');"title="修改">修改</a><ahref="javascript:del('<%#Eval("银行编码")%>');"title="删除">删除</a></DataItemTemplate>

functiondel(id){if(confirm("确定要删除吗")){ASPxGridView1.PerformCallback("del"+id);}}

protectedvoidCallBack(objectsender,DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgse){if(e.Parameters=="search"){bindData();}elseif(e.Parameters.Contains("del")){stringid=e.Parameters.Substring(3,e.Parameters.Length-3);newBLL.xt_tc_bank().Delete(int.Parse(id));bindData();}}

都是这种无刷新的烦死人了..所以web用dev就是早死...我劝你早点放弃吧...
解决方案十:
引用6楼cocly的回复:

Quote: 引用4楼insus的回复:
Refer:

感谢关注,但是这个方法在我这里使用不是很合适,如果是把button放在grid内部,如何才能达到效果??

引用7楼cocly的回复:

Quote: 引用5楼u012092968的回复:
你那个<%#Eval("DownloadID").ToString()%>要是一直都是一样的那就直接放在那里就好了,要是每次onclientclick都要去数据库拿新的数据的话那就只有用ajax了.jqeury的get直接反问后台要不你不可能有那个数据的.http://api.jquery.com/jquery.get/

请问一下,你说的"一直是一样的"是什么意思呢???我这里如果是grid已经加载了数据,则不回改变,除非点击button后,删除一条数据然后刷新页面加载的数据才少一条,但是在加载数据后,这个语句则是不会改变的....

你把OnClientClick改一下OnClientClick="CheckDelete('123');"先改成这样看看它有没有进入那个checkdelete里面去,要是有进去那么就是说"'""'"这个出问题了
解决方案十一:
编辑GridView所有行的数据//GridView读取写会数据双向绑定<asp:GridViewID="GridView1"Runat="server"DataKeyNames="ID"AutoGenerateColumns="False"AllowPaging="True"onpageindexchanging="GridView1_PageIndexChanging"PageSize="5"Width="682px"CellPadding="3"GridLines="Horizontal"BackColor="White"BorderColor="#E7E7FF"BorderStyle="None"BorderWidth="1px"><FooterStyleBackColor="#B5C7DE"ForeColor="#4A3C8C"/><RowStyleBackColor="#E7E7FF"ForeColor="#4A3C8C"/><Columns><asp:BoundFieldDataField="ID"HeaderText="编号"/><asp:TemplateFieldSortExpression="au_lname"HeaderText="员工姓名"><ItemTemplate><asp:TextBoxRunat="server"Text='<%#Bind("au_lname")%>'ID="txtName"Height="22px"Width="90px"></asp:TextBox>//员工信息部分省略。。。。。。</ItemTemplate></asp:TemplateField></Columns><PagerStyleBackColor="#E7E7FF"ForeColor="#4A3C8C"HorizontalAlign="Right"/><SelectedRowStyleBackColor="#738A9C"Font-Bold="True"ForeColor="#F7F7F7"/><HeaderStyleBackColor="#4A3C8C"Font-Bold="True"ForeColor="#F7F7F7"/><AlternatingRowStyleBackColor="#F7F7F7"/></asp:GridView>//触发按钮事件protectedvoidButton1_Click(objectsender,EventArgse){StringBuilderquery=newStringBuilder();//动态字符串类StringBuilderfor(inti=0;i<GridView1.Rows.Count;i++){GridViewRowrow=GridView1.Rows[i];stringvalue1=((TextBox)row.Cells[1].FindControl("txtName")).Text.Replace("'","''");stringvalue2=((TextBox)row.Cells[2].FindControl("txtSex")).Text.Replace("'","''");stringvalue3=((TextBox)row.Cells[3].FindControl("txtState")).Text.Replace("'","''");stringvalue4=((TextBox)row.Cells[4].FindControl("txtPhone")).Text.Replace("'","''");stringvalue5=((TextBox)row.Cells[5].FindControl("txtAddress")).Text.Replace("'","''");stringvalue=GridView1.DataKeys[i].Value.ToString();query.Append("UPDATE[tb_mrEmp]SET[au_lname]='")//追加字符串.Append(value1).Append("',[sex]='").Append(value2).Append("',[state]='").Append(value3).Append("',[phone]='").Append(value4).Append("',[address]='").Append(value5).Append("'WHERE[ID]='").Append(value).Append("';n");}conn.Open();//打开数据库连接SqlCommandcommand=newSqlCommand(query.ToString(),conn);if(Convert.ToInt32(command.ExecuteNonQuery())>0)//判断更新操作是否成功{Response.Write("<script>alert('一次修改数据成功!')</script>");}else{Response.Write("<script>alert('一次修改数据失败!')</script>");}conn.Close();//关闭数据库连接bind();//更新后重新绑定下数据}//更新后重新绑定下数据publicvoidbind(){stringsqlstr="select*fromtb_mrEmp";SqlDataAdaptermyda=newSqlDataAdapter(sqlstr,conn);DataSetmyds=newDataSet();conn.Open();myda.Fill(myds,"tb_mrEmp");GridView1.DataSource=myds;GridView1.DataBind();conn.Close();}

时间: 2024-09-24 00:51:49

关于在GuidView行模板中Button控件的OnClientClick函数,绑定参数的问题!的相关文章

WPF学习备忘(5)怎样修改模板中的控件

首先,想问大家一个问题,你们如果要给一个Button添加背景图片会怎么做?(呵呵,这个问题又点小白 哈) 是这样吗? <Button Height="57" HorizontalAlignment="Left" Margin="106,86,0,0" Name="button1" VerticalAlignment="Top" Width="147" BorderThickness

WPF备忘录(5)怎样修改模板中的控件

     首先,想问大家一个问题,你们如果要给一个Button添加背景图片会怎么做?(呵呵,这个问题又点小白哈) 是这样吗? <Button Height="57" HorizontalAlignment="Left" Margin="106,86,0,0" Name="button1" VerticalAlignment="Top" Width="147" BorderThick

获取treeview HierarchicalDataTemplate模板中的控件对象

问题描述 我想获取HierarchicalDataTemplate模板中的控件对象,如下name="image2"的Image对象<TreeViewName="personTree"Width="299"TreeViewItem.Selected="treeView1_Selected"TreeViewItem.Unselected="treeView1_UnSelected"Height="

怎么在后台代码中访问ListView中&amp;amp;lt;EditItemTemplate&amp;amp;gt;模板中的控件?

问题描述 怎么在后台代码中访问ListView中<EditItemTemplate>模板中的控件?今天研究了很长时间,现在我可以通过以下后台代码访问<InsertItemTemplate>模板中控件:protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse){DropDownListb=(DropDownList)ListView1.InsertItem.FindControl("Dro

datawindow中,buttonclicked事件如何获取当前按钮名称,就是在datawindow中button控件名称

问题描述 在datawindow中,存在多个button控件,每个button控件执行不同功能,现需要在点击其中的某个button后,能够通过button的名称区分需要执行的操作,与.net平台结合使用的.麻烦各位大侠帮忙解决下. 解决方案 解决方案二:click事件的sender参数就是触发该事件的button,你强转下就行了解决方案三:怎么转,能具体写下吗,谢啦

WPF 获取控件模板中的控件

问题描述 <toolkit:DataGridTemplateColumnWidth="35"><toolkit:DataGridTemplateColumn.HeaderTemplate><DataTemplate><CheckBoxName="cbbSelALL"Click="cbbSelALL_Click"/></DataTemplate></toolkit:DataGridT

Silverlight Telerik控件学习:GridView双向绑定

做过WinForm数据库开发的人,一定有类似经历:DataGrid绑定后,如果允许行编辑,数据一顿修改后,想批量保存修改后的结果,通常是将DataGrid的所有行遍历,用FindControl找出其中的TextBox之类的控件,取值,然后处理,如果行模板中的控件变化了,可能之前的处理代码又要修改... .Net发展到WPF/SL时代,有了双向绑定,这种痛苦经历已经一去不返了,我们只需要关注数据即可,GridView与数据源之间会相互通知各自的变化情况,批量保存时,不管GridView中的数据用户

Android中的Button控件

Android中Button控件应该算作是比较简单的控件,然而,它的使用频率却是非常的高,今天,我在这里总 结了三种常用的点击Button实现其功能的方法. 1.很多时候,我们在用到Button控件时,往往都是" 一次性"使用,这时,为了方便起见,我们一般采用的是匿名内部类的方法,形如这样: button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO

~求教 gridview中 如何实现两个模板列中 textbox控件的 实时变换呢 ? 类似TextChanged

问题描述 gridview中如何实现两个模板列中textbox控件的实时变换呢?类似TextChanged比如在模板列中有两个控件textbox1和textbox2如何实现当textbox1的值发生变化以后textbox2的值马上就变成textbox1的值乘以二就是下面的代码怎么能够在textbox1的值发生变化后改变焦点时马上实现呢??多谢各位大侠~for(i=0,i<10,i++){TextBoxtextbox1=(TextBox)GridView1.Rows[i].Cells[2].Fin