GridView行をクリックしたときにSelectedIndexChangedイベントを発生させたい。
私はコードビハインドで次のことを試しました:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
e.Row.Attributes.Add("onMouseOver", "Highlight(this)");
e.Row.Attributes.Add("onMouseOut", "UnHighlight(this)");
e.Row.Attributes.Add("onClick", String.Format("javascript:__doPostBack('GridView1','Select${0}')", e.Row.RowIndex));
}
}
行をクリックするとポストバックが発生しますが、SelectedIndexChangedは発生しません。Page_Loadで、リクエストから引数を取得します。
if (IsPostBack)
{
object obTarget = this.Request.Form["__EVENTTARGET"]; //GridView1
object obArg = this.Request.Form["__EVENTARGUMENT"]; //Select$4
}
SelectedIndexChangedを上げる必要があると思いますか、それともこれについて誤解がありますか?