467,903 Members | 1,863 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,903 developers. It's quick & easy.

Client side scripting

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

Nov 18 '05 #1
  • viewed: 2520
Share:
5 Replies
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

"Ben" <be*@online.nospam> wrote in message
news:RL*****************@fe37.usenetserver.com...
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

Nov 18 '05 #2
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.

"Ben" <be*@online.nospam> wrote in message
news:RL*****************@fe37.usenetserver.com...
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

Nov 18 '05 #3
Hi Ben,

Since the ASP.NET server controls have their own serverside post back
events as well as clientside events, so it's ok to implement your task via
both serverside code or clientside script code. For example, you can
1. Do the enable/disable operation in the DropDownList's serverside
SelectIndexChange event

2. Or use its Attributes collection to register an "onchange" clientside
event handler for it to do the same operation.

The #1 use serverside code and can make use of the .net's class library,
but it need the page to postback everytime the dropdownlist has changed.
The #2 use clientside script so it needn't to post back and will avoid
round trip to the serverside which will be more effiecient. Anyway, which
to use all depends on your requirement and scenario.

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

Nov 18 '05 #4
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

"Steven Cheng[MSFT]" <v-******@online.microsoft.com> wrote in message
news:66**************@cpmsftngxa10.phx.gbl...
Hi Ben,

Since the ASP.NET server controls have their own serverside post back
events as well as clientside events, so it's ok to implement your task via
both serverside code or clientside script code. For example, you can
1. Do the enable/disable operation in the DropDownList's serverside
SelectIndexChange event

2. Or use its Attributes collection to register an "onchange" clientside
event handler for it to do the same operation.

The #1 use serverside code and can make use of the .net's class library,
but it need the page to postback everytime the dropdownlist has changed.
The #2 use clientside script so it needn't to post back and will avoid
round trip to the serverside which will be more effiecient. Anyway, which
to use all depends on your requirement and scenario.

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


Nov 18 '05 #5
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...syntaxforhtmlc
ontrols.asp?frame=true

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

#The Forgotten Controls: HTML Server Contro
http://msdn.microsoft.com/library/en...gottenControls
..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

Nov 18 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by cedced | last post: by
4 posts views Thread by Bob T | last post: by
2 posts views Thread by Ivan Samuelson | last post: by
1 post views Thread by Chris | last post: by
5 posts views Thread by Ankur | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.