OnRowDataBound
이벤트를 사용하여 GridView에 특성을 추가 할 수 있습니다.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//add the current row number
e.Row.Attributes.Add("rowNumber", e.Row.RowIndex.ToString());
//add an item from the database
e.Row.Attributes.Add("itemID", DataBinder.Eval(e.Row.DataItem, "database_id").ToString());
//or add a click directy and redirect with javascript
e.Row.Attributes.Add("onclick", "location.href='/newPage.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "database_id").ToString() + "'");
}
}
제 발췌문에서 세 번째 속성을 사용하지 않으면 clientside 행을 처리해야합니다. 당신은 jQuery로 그렇게 할 수 있습니다.
<script type="text/javascript">
$(document).ready(function() {
$("#<%= GridView1.ClientID %> tr").click(function() {
var rowNumber = $(this).attr("rowNumber");
var itemID = $(this).attr("itemID");
alert("This is row number: " + rowNumber + ". It has ID: " + itemID);
})
});
</script>
"새로 선택한 행"으로 무엇을 하시겠습니까? 코드에서 수행 할 작업이 필요하다면 다시 게시가 필요합니다. 그렇다면 [UpdatePanel] (https://msdn.microsoft.com/en-us/library/bb399001.aspx)을 사용할 수 있습니다. 프런트 엔드에서만 무언가를해야하는 경우 다른 접근 방식을 취해야합니다. – VDWWD
페이지가 새로 고쳐지면 선택한 항목의 세부 정보 페이지로 이동할 수있는 색인이 클릭되었을 뿐이므로 사이트의 속도가 느려지는 몇 가지 API 호출이 있으면 업데이트를 살펴볼 것입니다. 패널, 감사합니다 – Litrico