Dinesh Kumar
Dinesh Kumar

Reputation: 101

Not able to get data in content page through javascript in asp.net

I have created a small web application for display the selected employees data. In this application I coded a javascript. I have create a dropdownbox with username details along with them a checkbox is in front of every user. These username get from database.

I want that manager dropdown the list and select the employee which he want to see the details. I did this with the help of javascript but the issue is that it successfully display the usernames in dropdown when it is saparate form from the master page but when i merge it with master page means make it content page of that master page it doesn't display the usernames in dropdown.

It display it blank. Where I m doing wrong. Any suggestions will be appreciated.
Thanks in advance.

Upvotes: 0

Views: 438

Answers (3)

Neelam
Neelam

Reputation: 1068

You need to give the client id of the controls in the function. When you were using master page den the id of ur controls changes. For eg: The clientID of Checkbox chktest will be chktest without master page.But with masterpage the clientID changes to something like 'ctl00_ContentPlaceHolder1_chktest'

So the javascript will not detect if you use chktest when using master page and your functions wont work as expected.So use clientId of controls.

Upvotes: 0

Coding Flow
Coding Flow

Reputation: 21881

As Pleun says the masterpage will change the HTML control ids rendered to the browser. There are a couple of ways round this If you are using asp.net 4 you can specify the client ids as follows:

<asp:Label Text="text" runat="server" ID="SomeID" ClientIDMode="Static" />

That will maintain the ID rendered to the browser.

If you are user a previous version of asp.net then i tend to user JQuery to get the controls using something like:

$("[id$='SomeId']")

The $= means ends with.

You can also user server markup mixed in with your javascript code e.g.

var control = document.getElementById("<% =SomeId.ClientId %>");

asp.net will then render out whatever client side id it assigns to the control with server id SomeId

Upvotes: 1

Pleun
Pleun

Reputation: 8920

The master page changes the names of the controls:

Have a look here: http://www.asp.net/master-pages/tutorials/control-id-naming-in-content-pages-cs

(Not your question - but the functionality can also be done out of the box with ASP.NET without coding javascript yourself)

Upvotes: 0

Related Questions