ASP.NET GridView JavaScript Button Click

By Robbe Morris

Duplicate the GridView's button click event.

Since server side controls in ASP.NET eventually are rendered as HTML in the browser, you often just need to do a view source in the browser to see the HTML generated by the control and the calls to JavaScript they make.  Here is a small sample that demonstrates how to trigger a click from a ButtonField.   

<script type="text/javascript">
function DoMe(row)
{
alert('I am submitting row ' + row);
__doPostBack('ctl00$MiddleContent$GridView1', 'Select$' + row);
}
</script>
  
  <a href="javascript:DoMe(0);">Submit Row 0</a>  <a href="javascript:DoMe(1);">Submit Row 1</a>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand" >
<Columns>
    <asp:BoundField DataField="Column1"/>
    <asp:ButtonField ButtonType="Button" Text="Command"  CommandName="Select"  />
</Columns>
</asp:GridView>

// Code Behind

    protected void Page_Load(object sender, EventArgs e)
    {
if (this.Page.IsPostBack) return;
var dataTable = new DataTable();
dataTable.Columns.Add("column1");
var row = dataTable.NewRow();
row[0] = "Row 1";
dataTable.Rows.Add(row);
row = dataTable.NewRow();
row[0] = "Row 2";
dataTable.Rows.Add(row);
this.GridView1.DataSource = dataTable;
this.GridView1.DataBind();
    }

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
Debug.WriteLine("I submitted " + e.CommandArgument.ToString());
}
}

ASP.NET GridView JavaScript Button Click  (2656 Views)