2016-09-11 7 views
1

私は(なし成功して)私はこの試みているGridViewRowGridViewRow - クリック時

をクリックしていたとき、私は別のページにリダイレクトします:

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

はどのようにそれを行うには?

ありがとうございます!

答えて

1

Response.Redirectをonclick atrributeに直接バインドすることはできず、関数のみをバインドすることはできません。しかし、行(クリック)に関数をバインドすることはできません。 Javascriptを使う方が簡単です。 PostBackは必要ありません。

javascript onclick関数をgridviewの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

関連する問題