问题描述
各位大虾:现在在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();}