Jag har en combobox och en knapp som båda är aspkontroller. I comboboxen finns "röd", "grön" och "blå". När jag väljer en av dem vill jag att min aspbutton ska ändra färg. Det ska vara klientskript, antingen jskript eller vb-skript. Går det? Detta ger dig iallafall nåt att börja med. Det finns kanske nåt smartare sätt att få iho färgerna men jag kommer inte på nåt... typ att texten är från en kolumn och värdet från en annan i dropdownen. Tack så jättemycket! Det fungerade perfekt. Skrev om det till vb och satte färgerna direkt i formuläret. Blev såhär:Sätta färg på en asp-button i klientskript?
Mvh
Peter IlisSv: Sätta färg på en asp-button i klientskript?
<code>
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
ArrayList olle=new ArrayList();
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
RegJS();
olle.AddRange(new string[]{"Gron", "Rod","Bla"}); //detta är bara test grejer
DropDownList1.DataSource=olle;
DropDownList1.DataBind();
DropDownList1.Attributes["onchange"]="javascript:Change();"; //viktigt...
}
}
private void RegJS()
{
if(!IsClientScriptBlockRegistered("DDChange"))
{
Page.RegisterClientScriptBlock (
"DDChange",
"<script language=\"javascript\">\n" +
"<!--\n"+
"function Change ()\n" +
"{\n" +
" if(Form1.DropDownList1.options[Form1.DropDownList1.selectedIndex].value==\"Gron\")"+
"\n{\nForm1.Button1.style.background = \"#00ff00\"; \n}\n" +
"}\n" +
"-->\n"+
"</script>"
);
}
}
</code>Sv: Sätta färg på en asp-button i klientskript?
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
RegJS()
DropDownList1.Attributes("onchange") = "javascript:Change();"
End If
End Sub
Private Sub RegJS()
If (Not IsClientScriptBlockRegistered("DDChange")) Then
Page.RegisterClientScriptBlock("DDChange", "<script language='javascript'>" & _
vbCrLf & "<!--" & vbCrLf & "function Change ()" & vbCrLf _
& "{" & vbCrLf & _
"if(Form1.DropDownList1.options[Form1.DropDownList1.selectedIndex].value=='Röd')" _
& vbCrLf & "{" & vbCrLf & "Form1.Button1.style.background = '#ff0000'; " & vbCrLf & "}" & vbCrLf _
& "else if(Form1.DropDownList1.options[Form1.DropDownList1.selectedIndex].value=='Grön')" _
& vbCrLf & "{" & vbCrLf & "Form1.Button1.style.background = '#00ff00'; " & vbCrLf & "}" & vbCrLf _
& "else if(Form1.DropDownList1.options[Form1.DropDownList1.selectedIndex].value=='Blå')" _
& vbCrLf & "{" & vbCrLf & "Form1.Button1.style.background = '#0000ff'; " & vbCrLf & "}" & vbCrLf _
& "else if(Form1.DropDownList1.options[Form1.DropDownList1.selectedIndex].value=='Gul')" _
& vbCrLf & "{" & vbCrLf & "Form1.Button1.style.background = '#ffff00'; " & vbCrLf & "}" & vbCrLf _
& vbCrLf & "}" & vbCrLf & " -->" & vbCrLf & "</script>")
End If
'Dubblera raderna 40 och 41 för att få flera färger.
End Sub
</code>
Mvh
Peter