gridview模板列里有个linkbutton
如何实现点击linkbutton时先执行一段js代码,在执行一段更新数据的CS代码比如js方法如下:
<script>
function js(aa,bb)
{
}
</script>
CS方法如下:
public void updatedata(string cc,int dd)
{
}
如何实现点击linkbutton时先执行一段js代码,在执行一段更新数据的CS代码比如js方法如下:
<script>
function js(aa,bb)
{
}
</script>
CS方法如下:
public void updatedata(string cc,int dd)
{
}
<ItemTemplate>
<asp:LinkButton ID="EditButton" runat="server" Text="编辑" kong='<%#Eval("xxx")%>' OnClientClick="showwindow(this);return false;" > </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
//xxx是你要的字段 function showwindow(thislink)
{
var aaa=thislink.kong;
var sss=window.showModalDialog('dd.aspx?id=' + aaa + '&rand='+Math.random()+'',window,'dialogWidth:700px;DialogHeight=500px;status:no');
if(sss!=undefined)
{
window.location.reload();
}
}
或者在databound的时候。给linkbutton加个单击属性。。直接把参数给赋进去。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
if (row.RowType == DataControlRowType.DataRow)
{
LinkButton lb = (LinkButton)row.FindControl("LinkButton1");
lb.OnClientClick = "funny(" + e.Row.Cells[2].Text + ");return true;";
}
}
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="EditButton" runat="server" Text="编辑" kong='<%#Eval("xxx")%>' OnClientClick="showwindow(this);return false;" > </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
//xxx是你要的字段 JScript code
function showwindow(thislink)
{
var aaa=thislink.kong;
var sss=window.showModalDialog('dd.aspx?id=' + aaa + '&rand='+Math.random()+'',window,'dialogWidth:700px;DialogHeight=500px;status:no');
if(sss!=undefined)
{
window.location.reload();
}
}
C# code
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
if (row.RowType == DataControlRowType.DataRow)
{
LinkButton lb = (LinkButton)row.FindControl("LinkButton1");
lb.OnClientClick = "funny(" + e.Row.Cells[2].Text + ");return true;";
}
}三种方法都可以,不过第三种方法我使用时出现不稳定,有些服务器不起作用,脚本失效,后面都换成第一种方式了