2013-05-29 159 views
-1

我不知道我在做什麼錯,但我的asp.net按鈕取代了我在頁面中設置的自定義類。asp.net按鈕替換自定義CSS類

ASP.NET頁

<asp:Button runat="server" ID="btnPrev" CssClass="btn prev" Text="Back"></asp:Button> 

生成的HTML

<input type="submit" name="ctl00$PageContent$Competitions$ctl06$btnPrev" value="Back" id="PageContent_Competitions_ctl06_btnPrev" class="button"> 

我如何設置自定義類按鈕。請幫忙。

EDITS:Chrome開發者工具,以及查看源代碼:

我在這兩個檢查它​​。都顯示上面呈現的HTML

好吧,暫時我要使用asp:LinkBut​​ton它不覆蓋類屬性。我現在確定在我的應用程序中將asp:Button類重寫爲「buttons」類的內容。

感謝您指點我正確的方向。我將保持這個問題,開放,直到我弄清楚到底是怎麼回事......

+1

您錯過了ASP.NET控件的結束報價。我很確定生成的HTML總是包含最後一個斜槓(即使HTML中不需要它)。當你把東西放入SO問題時,確保你完全從你的代碼/標記中複製它 - 即使是一個小小的錯字可能會在答案中產生巨大的差異。 –

+2

你有沒有檢查過你沒有覆蓋CssClass。示例* btnPrev.CssClass =「button」* –

+0

就我所知,渲染asp.net時保留了class屬性。我覺得有一個JavaScript循環通過按鈕並添加類 – user1

回答

0

試試這個

$(function(){ 
    $("#PageContent_Competitions_ctl06_btnPrev").removeClass("button"); 
    $("#PageContent_Competitions_ctl06_btnPrev").addClass("btn prev"); 
}); 
+0

爲什麼這是downvoted? – Amit

+1

我不知道downvote,但它的工作不是一個修復.. –

+0

是的,這是解決方法。 – Amit

2

既然你說你的實際來源有這個類,它必須bastos.sergio的評論或類似的東西,其中一些服務器代碼覆蓋你的班級。除了從CssClass屬性,您還可以從Attributes設置,如:

btnPrev.Attributes.Remove("class"); 

btnPrev.Attributes["class"] = "button"; 
// or 
btnPrev.Attributes.Add("class", "button"); 

我會看一看的話在你的代碼CssClassAttributes,看看也許它被誤覆蓋某處那裏,可能在基類或其他共享位置。

如果無法追查,可以嘗試設置一些斷點,看整個頁面生命週期的btnPrev.CssClassbtnPrev.Attributes["class"]在不同的點值時看到變化發生。