My suggestion to you in your case do not use ButtonField Replace it with this
<asp:TemplateField>
<ItemTemplate>
<asp:Button id="btnRenew" CommandName="Renew" CommandArgument='<%#String.Format("ContractInformation.aspx?cid={0}",Eval("ContractID"))%>' />
</ItemTemplate>
</asp:TemplateField>
Now in your code Behind Handle your GridView RowCommand Event
void GridView_RowCommand(Object sender, GridViewCommandEventArgs e)
{
if(e.CommandName=="Renew")
{
string url = (string)e.CommandArgument;
Response.Redirect(url);
}
}
Hope this would match your needs.