2016-08-23 11 views
0

2つのgridviewsを持つASP.net Webページがあります。私は1つのgridviewを表示し、もう一方のボタンを隠すために1つをクリックし、最初のgridviewを非表示にし、2番目のgridviewを表示できるようにする2つのボタンがあります。どちらかをクリックすると何も起こりません。私はgridviewの可視設定で遊んだことがあります。運が悪いです。私はそれが簡単だと確信しています。見てくれてありがとう!いくつかのコードは以下の通りです:ASP.netメイクボタンは、GridView VisibleプロパティをTrueまたはFalseに設定します。

2 Gridviews:ボタンの背後

<asp:GridView ID="gridShowUsers" runat="server" AutoGenerateColumns="False" DataKeyNames="user_id" DataSourceID="SqlDataSource1" AllowPaging="True"> 
     <Columns> 
      <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
      <asp:BoundField DataField="user_id" HeaderText="User ID" InsertVisible="False" ReadOnly="True" SortExpression="user_id" /> 
      <asp:BoundField DataField="user_name" HeaderText="Username" SortExpression="user_name" /> 
      <asp:BoundField DataField="user_password" HeaderText="Password" SortExpression="user_password" /> 
      <asp:BoundField DataField="user_securitylevel" HeaderText="Security Level" SortExpression="user_securitylevel" /> 
     </Columns> 
    </asp:GridView> 

<asp:GridView ID="gridOrders" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ordr_id" DataSourceID="SqlDataSource2" EmptyDataText="There are no Orders to Display" AllowPaging="True"> 
     <Columns> 
      <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" /> 
      <asp:BoundField DataField="ordr_id" HeaderText="ordr_id" InsertVisible="False" ReadOnly="True" SortExpression="ordr_id" /> 
      <asp:BoundField DataField="ordr_date" HeaderText="ordr_date" SortExpression="ordr_date" /> 
      <asp:BoundField DataField="ordr_fname" HeaderText="ordr_fname" SortExpression="ordr_fname" /> 
      <asp:BoundField DataField="ordr_lname" HeaderText="ordr_lname" SortExpression="ordr_lname" /> 
      <asp:BoundField DataField="ordr_streetaddress" HeaderText="ordr_streetaddress" SortExpression="ordr_streetaddress" /> 
      <asp:BoundField DataField="ordr_city" HeaderText="ordr_city" SortExpression="ordr_city" /> 
      <asp:BoundField DataField="ordr_state" HeaderText="ordr_state" SortExpression="ordr_state" /> 
      <asp:BoundField DataField="ordr_zipcode" HeaderText="ordr_zipcode" SortExpression="ordr_zipcode" /> 
     </Columns> 
    </asp:GridView> 

コード:

protected void btnShowUsers_Click(object sender, EventArgs e) 
{ 
    gridShowUsers.Visible = true; 
    gridOrders.Visible = false; 
} 

protected void btnShowOrders_Click(object sender, EventArgs e) 
{ 
    gridShowUsers.Visible = false; 
    gridOrders.Visible = true; 
} 
+1

は、あなたのasp.net -section(https://developers.google.com/speed/libraries/#jquery)にlates安定したjQueryライブラリを追加することを忘れないでください。 – Win

答えて

0

基本的にはあなたのコードは動作するはずですが、多分何かが全体の文脈が間違っています。あなたのボタンのコードと多分全面的なコードを提供してください - あるいは、これはおそらくUpdatePanelsにありますか?


とにかく、C#コードの意味でポストバックを経由しなければならないのでしょうか?それ以外の場合は、クライアント側のソリューションを使用することを提案します。 jQueryまたはjavascript

jQueryので

あなたはこのようにそれを行うことができます(と仮定すると、ボタンのID):これはまた、トグルのようなアニメーション(.hideを試してみてください(500))、または使用機能のような派手なものを行うことができます

$("#btnShowUsers").on("click", function(){ 
    $("#gridShowUsers").show(); 
    $("#gridOrders").hide(); 
}); 

$("#btnShowOrders").on("click", function(){ 
    $("#gridShowUsers").hide(); 
    $("#gridOrders").show(); 
}); 

( )、それはポストバックを引き起こさないので、ページ全体をリロードしません。私はあなたのコード内btnShowUsersとbtnShowOrdersが表示されない

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 
関連する問題