2017-03-07 1 views
0

私はGridviewとこのコードを持っています(下に)ステータスが開いている場合はボタンを表示したい、そうでない場合はボタンが見えなくなります。データベース値に基づいてボタンを隠す/表示する方法

しかし、このコードは動作しません。ボタンは常に表示されます。より良い

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (((GridView)sender).SelectedRow != null) 
    { 
     GridViewRow g = ((GridView)sender).SelectedRow; 
     string assign= GridView1.SelectedRow.Cells[5].Text; 
     btnassign.Visible = (assign == "open"); 
    }  
} 

<asp:Button Text="assign" ID="btnassign" Visible="false" 
OnClick="btnassign_Click" runat="server" /> 
+0

あなたは変数assign' '内部に何デバッグすることがありますか?多分 'assign'は常に' open'と同じです。 – dcg

+1

コードはSELECTED INDEX CHANGEDにあります。それは、誰かがそれを選択したときにのみあなたのコード・ファイアーが起こることを私に意味します。 'GridView1_SelectedIndexChanged' – logixologist

答えて

-1

あなたのGridViewの上AutoPostBack="true"タグが欠落している可能性があり、条件演算子

// ?: conditional operator. 
btnassign.Visible = (assign == "open") ? True : False; 
+0

これは、彼が投稿したコードとどのように違うのですか? – dstepan

+0

また、 'True'と' False'はC#のブール値の値ではありません。 'true'と' false'は正しいでしょう。 – dstepan

0

を使用しています。

<asp:GridView ID="GridView1" runat="server" AutoPostBack="true"></asp:GridView>

関連する問題