2015-11-10 69 views
0

我的第一個ASP-Project有點問題。 Im提供用戶和輸入掩碼來輸入數據。在某些點上,我想控制輸入是否爲數字。如果沒有,我想改變我的文本框的邊框顏色。 這是我的文本框:以編程方式更改文本框的CssClass

<asp:TextBox ID="tbOnlyNumeric" runat="server" Height="30px" CssClass="MyNumericBox" autocomplete="off"></asp:TextBox> 

框的樣式看起來像這樣:

.MyNumericBox 
{ 
    width:250px; 
    overflow: auto; 
    font-size: 20px; 
    position:relative; 
    right:111px; 
    border-color: #dcdcdc; 
    padding: 4px; 
    margin:15px; 
    border-width: 2px; 
    border-radius: 10px; 
    border-style: solid; 
    transition: box-shadow 0.3s, border 0.3s; 
    text-align: right; 
    padding-right: 18px; 
    outline: none; 
} 

我的想法是投文本框的文本在的try-catch-statment:

 try 
    { 
     if (string.IsNullOrWhiteSpace(tbOnlyNumeric.Text)) 
     { 
      throw new Exception(); 
     } 
     else 
     { 
      salesExpected = Convert.ToInt32(tbOnlyNumeric.Text.ToString().Replace(".", string.Empty)); 
     } 
    } 
    catch (Exception ex) 
    { 
      debugLabel.Text = "EX"; 
      correct = false; 
      tbOnlyNumeric.CssClass = tbSalesExpected.CssClass.Replace("MyExpectedBox", "MyExpectedBoxWrong"); 
    } 

所以,如果有什麼問題我的文本框應該看起來像:

enter image description here

而是它看起來像這樣:

enter image description here

我已經注意到,如果在鍍鉻觀看老CSS類被刪除,但新一不addet。

任何想法爲什麼?

在此先感謝

+0

你不需要使用「CssClass.Replace」,你可以使用CssClass(「MyExpectedBoxWrong」)它會覆蓋那裏的類。也就是說,你真的想做這個客戶端(更接近弗朗西斯索爾的答案)。 –

+0

@StephenBrickner哦,是的就是這樣。使用CssClass而不是替換工作正常 –

回答

1

終於想通outthat使用的 // css樣式:而不是

tbSalesExpected.CssClass = "MyExpectedBoxWrong"; 

tbOnlyNumeric.CssClass = tbSalesExpected.CssClass.Replace("MyExpectedBox", "MyExpectedBoxWrong"); 

解決了這個問題。

感謝您的回答和評論!

1

你可以試試這段代碼。把這個在你的catch語句

ScriptManager.RegisterClientStartUpScript(this,this.GetType(),"pop","changeCssStyle();",true); 

//你的aspx文件的頭部創建一個腳本,將改變文本框

<script type="text/javascript"> 
    function changeCssStyle(){ 
    //if you are using a master page refer the id of textbox to the id of 
    //head content in master page e.g. MainContent_tbOnlyNumeric 

    //lets assume you already have reference to jquery in your head section 
    $('#MainContent_tbOnlyNumeric').css("border-color","red"); 

    } 
</script> 
+0

這就是我所做的,如果我想從後面的代碼操縱HTML/jQuery。 –

相關問題