2016-09-11 5 views
1

Я хочу, чтобы перенаправить на другую страницу Когда я щелкать GridViewRowGridViewRow - OnClick

Я попытался это (без успеха):

[RowName].Attributes["onclick"] = "HttpContext.Current.Response.Redirect('[PageName].aspx')"; 

Как сделать это?

Спасибо!

ответ

1

Вы не можете привязать Response.Redirect к onclick atrribute напрямую, только функции. Но вы не можете привязать функцию к строке (щелкните). Прост в использовании Javascript. Это не требует PostBack.

Привязать функцию javascript onclick к строке в событии сетки. OnRowDataBound.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      e.Row.Attributes.Add("onclick", "goUrl('" + DataBinder.Eval(e.Row.DataItem, "url").ToString() + "')"); 
     } 
    } 

А затем функция JavaScript.

<script type="text/javascript"> 
    function goUrl(url) { 
     location.href = url; 
    } 
</script> 
1

Спасибо!

на первых это не сработало, так что я изменил код так:

e.Row.Attributes.Add("onclick", "goUrl()"); 

<script> 
function goUrl() { 
    location.href = "[PageName].aspx"; 
} 
</script> 
+0

Это будет работать тоже. Я думал, вы хотели передать имя страницы из кода ... – VDWWD