webForumDet fria alternativet

styla en asp:textbox

.NETur .NET

8 svar · 626 visningar · startad av Sanji

SanjiMedlem sedan juli 2009355 inlägg
#1

Hej! Jag har en textbox som skapas dynamiskt i en code-behind fil, och jag försöker tilldela denna en cssklass jag skrivit, men utseendet på textboxen ändras inte. Jag har kollat källkoden när sidan är igång, och där finns class="textboxdotted" med. Alltså, det borde vara fel på css-klassen?

koden som skapar textboxen:

tbBox = new TextBox();
                        tbBox.CssClass = "textboxdotted";
                        tbBox.ID = "txtEditPrice" + price.ID;
                        tbBox.Text = Math.Round(double.Parse(price.price), 2).ToString("0.00");
                        tbBox.AutoPostBack = true;
                        
                        tbBox.TextChanged += new EventHandler(txtEditPrice_TextChanged);

css-koden:

.textboxdotted input[text]
{
    border: #D1C7AC 1px solid;
}

jag har testat att skriva koden för border på olika sätt, t.ex. enskilt för färg, stil, tjocklek osv men jag får ingen fart på det hela. Jag har även testat att köra utan "input[text]" i css:en.

Är det något speciellt man ska göra för att få en css-klass att fungera med textboxar? mina andra css-klasser jag har till t.ex. tabeller fungerar som de ska.

//Sanji

voigtann1Medlem sedan juni 20019 519 inlägg
#2
input.textboxdotted
{
    border: #D1C7AC 1px solid;
}

För den generera väl bara en vanlig input box, eller vad få du för HTML kod?

SanjiMedlem sedan juli 2009355 inlägg
#3

ja, det är en input med type="text" i html-koden, testar att göra som du skrev!

SanjiMedlem sedan juli 2009355 inlägg
#4

samma grej nu också... alltså, jag tilldelar ju cssklassen direkt till textboxen, och i html-koden så står det att klassen har angetts men textboxen ser fortfarande likadan ut, även med koden du skrev.

voigtann1Medlem sedan juni 20019 519 inlägg
#5

Sanji skrev:

ja, det är en input med type="text" i html-koden, testar att göra som du skrev!

Vad är den exakta HTML kod som genereras?

[type="text"] har inte fullt stöd i en del webbläsare, så det är inte en bra lösning (tyvärr) om du nu skiter i äldre webbläsare så är det det ett bra sätt att lösa med att titta på attribut.

fungera bra i firefox med css koden: http://jsbin.com/ageja

SanjiMedlem sedan juli 2009355 inlägg
#6

jag har iofs en sådan här som ligger för alla i hela applikationen:

input[type=text], input[type=password], textarea, select
{
    background-image:url(../Content/Images/textbox.png);
    background-repeat:repeat-x;
    background-color:#FFFFFF;
    border:1px solid #000000;
}
input[type=text]:focus, input[type=password]:focus, textarea:focus
{
    background-image:none;
}

kan det vara den som overridar så att den klassen jag försöker använda blir puttad åt sidan?

här är html-koden som genererats för en textbox:

<input name="ctl00$MainContent$txtEditPrice7aeb5f21-abb0-433d-9867-774e41f25bd8" type="text" value="20,00" onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContent$txtEditPrice7aeb5f21-abb0-433d-9867-774e41f25bd8\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_MainContent_txtEditPrice7aeb5f21-abb0-433d-9867-774e41f25bd8" class="textboxdotted" />

BTW, vad är jsbin? har aldrig sett förut, verkar ju vara skitbra :) skrev du koden själv som gjorde resultatet på länken?

voigtann1Medlem sedan juni 20019 519 inlägg
#7

input.textboxdotted[type="text"] vs input[type=text]

så borde ändå input.textboxdotted väga högre än input, så det borde inte vara där problemet ligger, kolla i firebug för att se vad som spökar hos dig.

SanjiMedlem sedan juli 2009355 inlägg
#8

will do, brb!

SanjiMedlem sedan juli 2009355 inlägg
#9

jag glömde ju att lägga på [type="text"] på klassen, fick för mig att jag gjorde det men så var det inte, nu verkar det fungera som det ska! tack så mycket!

//Mvh Sanji

137 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)