where is a javascript object defined

I'm maintaining an application. In a javascript .js file, the code below, I'm tracing and trying to find what GetDetails does. But I cannot find where ObjName is defined in any javascript file. I found a class definiation with the same name ObjName defined in a .cs file. I'm confused. .cs file runs on server. Where can I find the place defines ObjName?

Thanks. I know it is a basic question.
function myfunction()
    if (document.getElementById(ddlDropdown).value != '') {
        document.getElementById(fld1).value = document.getElementById(ddlDropdown).value;
        ObjName.GetDetails(document.getElementById(fld1).value, DoSomething, Onfailure);
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

use firebug to debug this script, i hope you are aware of it.
Anyways, here is a link to it...

there must be a prototype with GetDetails Function in it.
If there is no such prototype, probably this is not the right code....
minglelinchAuthor Commented:
Yes, I found prototype while I'm debug it. I also find the GetDetails is a C# function of ObjName class in ObjName.cs file. This is my first time for the concept prototype in .net development. Is it a connect for javascript and web methord? web service? Could you please give more about it? Thank you.
prototypes are basically classes in Javascripts which are converted to objects.
This method should be in JS, how can you call a method in cs from within JS since JS is client side script and CS is server side.

Use Firebug to debug and see...
OWASP: Avoiding Hacker Tricks

Learn to build secure applications from the mindset of the hacker and avoid being exploited.

minglelinchAuthor Commented:
Thank you a lot.

It's said Firebug works with Firefox. I'm using IE. At this time kind of wondering ...

Where or how to create protype?
minglelinchAuthor Commented:
Nice link and thanks for your direction. Let me ask a further question please.

While I'm debuging to the above code, I was brought to jsdebug [dynamic] which contains the following code:

var ObjName=function() {
this._timeout = 0;
this._userContext = null;
this._succeeded = null;
this._failed = null;
_get_path:function() {
 var p = this.get_path();
 if (p) return p;
 else return Address._staticInstance.get_path();},
... ...
... ...

GetDetails:function(address,succeededCallback, failedCallback, userContext) {
/// <param name="address" type="String">System.String</param>
/// <param name="succeededCallback" type="Function" optional="true" mayBeNull="true"></param>
/// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
/// <param name="userContext" optional="true" mayBeNull="true"></param>
return this._invoke(this._get_path(), 'GetDetails',false,{address:address},succeededCallback,failedCallback,userContext); },

It seems like the place where defines the prototype and the method. But it's like generated dynamically. No other places where I can find the method definition, which lead me think that the prototype is generated by some modul creation. But how is here?

these are the classes used by firebug to enable debugging.
This is where the debug symbols are loaded by, has got nothing to do with your code....
minglelinchAuthor Commented:
Thanks. I debug it again. ((ObjName is Address)

I set break point to
ObjName .GetDetails(document.getElementById(fld1).value, DoSomething, Onfailure);

then execution jump to
ObjName ._staticInstance.GetDetails(address,onSuccess,onFailed,userContext); }
then to
return this._invoke(this._get_path(), 'GetDetails',false,{address:address},succeededCallback,failedCallback,userContext);
then to
ObjName .prototype={
_get_path:function() {
 var p = this.get_path();
 if (p) return p;
 else return Address._staticInstance.get_path();},
then to
return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())
var b=new Sys.Net.WebRequest
... ...
var d=Sys.Net.WebRequest._createQueryString(b) ...

The javascript function is added by
ddlboxname.Attributes.Add("onchange", "myfunction();return false;");

Except GetDetails method in ObjName.cs, there's no GetDetails function in the whole project. GetDetails method in ObjName.cs does the expected work for onchange event, btu this is on the server side.

How does all this work?

I know it is a mess question. May it is the point where my problem is.

i think you are using ajax control library and scriptmanager, updatepanel etc...
minglelinchAuthor Commented:
Thanks for answering. Yes, I do use those. Does it matter?
oh yes it does, there lies an answer to your question of how the server side method is bieng called in Js.

This is because it is a part of <asp:ScriptManager>
Read Here to see how it works:-

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
minglelinchAuthor Commented:
Great answer, thank you.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.