Client side scripting

B

Ben

I want to enable/disable a text field cleint side based on a value in a
dropdownlist, what is the 'best'/'standard' approach for handling this in
..net?

I know i just just throw an on change attribute on the server controls tag,
but is that the 'right' way to do it?

Thanks,
Ben
 
M

Martin Marinov

If you want to do it with client side scripting

DropdownList.Attributes.Add("onchange", "yourscriptfordisabletextfield");
will do the job much fast than the server side
but if your page is not so big i would suggest you to do it on server side
with
if(DropDownList.SelectedIndex == 0)
TextBox1.Enabled = false;

Regards,
Martin
 
K

Kevin Spencer

Sure, Ben. There are quite a few instances in ASP.Net where client-side
JavaScript is not only useful, but essential. In this case, I don't believe
it would have any adverse effects on the server-side.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
 
B

Ben

Thanks for the reply, I've decided to use client side scripting as
suggested, but I'm simply putting onchange="MyJsFunction" on the
dropdownlist tag. From your message I'm guessing the appropriate approach
to this is to use the attributes collection? Also, I used onload on the
body tag as well. Is this another spot where the attributes collection can
/ should be used?

Sorry to asking such basic questions, but I want to learn the 'right'
approach fron the start:)

Thanks,
Ben
 
S

Steven Cheng[MSFT]

Hi Ben,

Thanks for your followup. Well, let's focus on the client side scripting
for control in asp.net. In fact, we use the WebServer's Attributes
Collection to register clientside script handler is because ASP.NET
webserver control doesn't
support write clienside event handler inline in html source such as
<input type=button onclick="" />

Of course you can register a "onload" clienside event for page as
<body onload="..">

because <body > tag is an plain html element rather than server control. In
addition, if you still want the inline style client side event registering,
I think you can take a look at the ASP.NET 's HtmlServerControls, they're
more similar to the plain HTML element and we can register their clientside
events in Page's HTML source inline. Here is the reference in MSDN on the
ASP.NET HtmlServerControls:

#HTML Server Controls
http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconaspsyntaxforhtmlc
ontrols.asp?frame=true

#Adding HTML Server Controls to a Web Forms Page
http://msdn.microsoft.com/library/en-us/vbcon/html/vbtskAddingHTMLControlsTo
WebFormsPage.asp?frame=true

#The Forgotten Controls: HTML Server Contro
http://msdn.microsoft.com/library/en-us/dnaspp/html/ASPNet-ForgottenControls
..asp?frame=true

Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Get Preview at ASP.NET whidbey
http://msdn.microsoft.com/asp.net/whidbey/default.aspx
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top