2015-04-01 86 views
0

我有一個具有內嵌CSS,其知名度是隱藏從DIV服務器端的C#刪除CSS

<div id="SecondGrid" runat="server" style="width:80%; margin-left:10%; visibility:hidden;"> 
//content 
</div> 

我在GridView控件按鈕,在點擊其中的我想刪除的知名度CSS div標籤上面的div

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "ShowCarModels") 
     { 
      CarBrandID = Convert.ToInt32(e.CommandArgument.ToString()); 
      BindGridView2(CarBrandID); 
      SecondGrid.Style.Remove("visibility"); 

     } 
    } 

該div仍然顯示爲隱藏。你能幫我解決嗎?

+0

按鈕調用回發? – Peyman 2015-04-01 05:49:24

+0

沒有按鈕不是回發 – 2015-04-01 06:05:08

回答

0

您應該使用Visible屬性。當你在服務器端使用你的html控件時,你可以使用Visible屬性來顯示或隱藏控件。

SecondGrid.Visible = true; 

對於上述方案,你需要改變你的HTML標記來follwing

<div id="SecondGrid" runat="server" visible="false" style="width:80%; margin-left:10%;"> 
//content 
</div> 

但如果你想繼續與您的標記,你也可以使用HtmlTextWriterStyle

SecondGrid.Style.Remove(HtmlTextWriterStyle.Visibility); 
+0

沒有它仍然無法正常工作。我認爲在'GridView1_RowCommand'函數中不能改變css。 :( – 2015-04-01 06:12:03

+0

是的,如果沒有回傳,那麼它將無法工作 – 2015-04-01 06:14:59

+0

你調試的代碼,當點擊按鈕去那條線設置可見爲真? – Peyman 2015-04-01 06:15:18

0

力去除風格找到了爲什麼沒有一個CSS樣式變更不在'GridView1_RowCommand'下工作的原因,但找到了解決方案。只是想分享。

已經把CSS中指定的類的類

.SecondG 
     { 
      visibility:hidden; 
     } 

到div的

<div id="SecondGrid" runat="server" style="width:80%; margin-left:10%; padding:20px; border:1px solid #E6E6E6;" class="SecondG" > 

創建JavaScript從股利

function ShowModel() 
     { 
       var d = document.getElementById("<%=SecondGrid.ClientID%>"); 
       d.className = ""; 

     } 

稱爲除去上面的類在網格中的按鈕點擊的JavaScript函數。

<asp:TemplateField ItemStyle-Width="5%" HeaderText="Models" HeaderStyle-CssClass="header-center"> 
             <ItemTemplate> 
              <asp:Button ID="img_Save" runat="server" OnClientClick="ShowModel()" CommandArgument='<%# Eval("CarBrandID") %>' CommandName="ShowCarModels" Width="100%" Text="Display Models" /> 
             </ItemTemplate> 
            </asp:TemplateField> 

及其工作。感謝很多人的幫助..