GridView--選択行
3480 ワード
原理:
GridViewのデフォルトで生成された選択をクリックして、編集し、ボタンを削除すると、postbackパラメータが発生します.ソースコードを確認できます.
これはasp.netの内蔵関数です.
コード
コード
注意ソースコードのonclickイベントを確認してください.
GridViewのデフォルトで生成された選択をクリックして、編集し、ボタンを削除すると、postbackパラメータが発生します.ソースコードを確認できます.
<td>
<a href="javascript:__doPostBack('ctl00$cp$GvDeparments','Edit$0')"> </a>
<a href="javascript:__doPostBack('ctl00$cp$GvDeparments','Delete$0')"> </a>
<a href="javascript:__doPostBack('ctl00$cp$GvDeparments','Select$0')"> </a>
</td>
<td>
<a href="javascript:__doPostBack('ctl00$cp$GvDeparments','Edit$1')"> </a>
<a href="javascript:__doPostBack('ctl00$cp$GvDeparments','Delete$1')"> </a>
<a href="javascript:__doPostBack('ctl00$cp$GvDeparments','Select$1')"> </a>
</td>
:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
これはasp.netの内蔵関数です.
Edit$,Delete$,Select$ . :
GridView RowDataBound .
コードif (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = "javascript:__doPostBack('" + GvDeparments.ClientID.Replace('_', '$') + "','Select$" + e.Row.RowIndex + "')";
}
ソースファイル<tr onclick="javascript:__doPostBack('ctl00$cp$GvDeparments','Select$3')">
...
</tr>
コード
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.GvDeparments, "Select$" + e.Row.RowIndex);
}
ソースファイル<tr onclick="javascript:__doPostBack('ctl00$cp$GvDeparments','Select$3')">
...
</tr>
コード
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this.GvDeparments, "Select$" + e.Row.RowIndex);
}
ソースファイル<tr onclick="__doPostBack('ctl00$cp$GvDeparments','Select$3')">
...
</tr>
注意ソースコードのonclickイベントを確認してください.