开发者

ASP.NET: Mixing server controls with client controls?

Can anyone help?

I normally use server controls i.e Textbox so i can get access to the server side event.

But what if i don't need access to the server side event and i am going to place some jquery or javascript on the textbox for example.

Can 开发者_StackOverflowi use a standard HTML (client controls) ?

Is this good practice or not?

Thanks in advance


YOu can use simple HTML standard control BUT if you want to access that controls value in ASP.NET then you will have to add runat="server tag" see below

<input type="text" runat="server" id="mytxtbox" name="mytxtbox">

If you really want to use HTML controls you can use them. but it will make your life easy to use standard ASP.NET controls if you are trying to access them on server side.

And if you want to access those controls using javascript as well then you can use something like

var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>')

thats how you can get textbox element and play with it in javascript.

This above code is a basic idea, depends how you want it to work


1)If the controls are not going to be accessed in the server side, avoid using server controls.

2)When a server control is used, it goes through the whole life cycle starting from initialization to rendering and finally unloading.

3)It also saves the memory constraint on the view state.


Yes you can use standard HTML controls, but asp.net controls are more flexible and you will have the same html output for each control types. If you need to use JQuery and you have problems with controls IDs, see the documentation because you can write something like this (suppose JQuery in asp.net tag):

$('#<%=this.clientId%>').style.display = 'block';

Anyway, I'm sure that there is a method in JQuery to call a single object also when know only a part of his ID name (but I don't remember how.. :))

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜