我有一个像这样的js函数:
<script type="text/javascript">
function Cols() {
rows = document.getElementById("GridView1").rows;
for (i = 0; i < rows.length; i++) {
rows[i].cells[8].style.visibility = "visible";
rows[i].cells[9].style.visibility = "visible";
rows[i].cells[10].style.visibility = "visible";
rows[i].cells[11].style.visibility = "visible";
rows[i].cells[12].style.visibility = "visible";
rows[i].cells[13].style.visibility = "visible";
rows[i].cells[14].style.visibility = "visible";
}
}
</script>
这个按钮带有 OnClientClick 事件:
<asp:Button ID="Add_Button" runat="server" OnClick="Add_Button_Click" Text="Add New Record" OnClientClick="Cols()" />
我的函数中的单元格是指我想在客户端显示的 Gridview 列,然后再转到服务器端的 OnClick 事件,这使我的 GridView 页脚行可见,页脚行用于插入新行。
编辑:所以这是我最初的问题:单击按钮时,我想让其他列可见,然后在同一个单击事件中使页脚行可见。但是,在引发事件后,额外的列会变为可见,但在我第二次单击该按钮之前,页脚行不可见。
这是我的点击事件:
protected void Add_Button_Click(object sender, EventArgs e)
{
if (GridView1.FooterRow.Visible == false)
{
GridView1.FooterRow.Visible = true;
Add_Button.Text = "Cancel";
Panel2.Visible = false;
}
else
{
GridView1.FooterRow.Visible = false;
Add_Button.Text = "Add New Record";
GridView1.Columns[10].Visible = false;
GridView1.Columns[11].Visible = false;
GridView1.Columns[12].Visible = false;
GridView1.Columns[13].Visible = false;
GridView1.Columns[14].Visible = false;
GridView1.Columns[15].Visible = false;
GridView1.Columns[16].Visible = false;
}
}
但是,当我单击按钮时,会引发 OnClick 事件,但不会引发 OnClientClick。为什么会这样?