Solved

How do I use Ajaxpro to update a database from the client?

Posted on 2009-04-12
5
438 Views
Last Modified: 2012-05-06
I hope someone can help me as I'm close to ripping my hair out.
I wrote a web application using vs 2005 and vb.net.  All I want is to display a message box on the client asking the user to confirm record deletions.  If they select yes, I want to run some server side code.
I discovered the bext way of doing this is to use the AJAXpro dll and mark my server side code with an ajaxmethod attribute. Unfortunately when I started this project I wasnt familiar with C# so I used vb.net and i cant find any examples of this with vb.net.
Originally it was a web site.  It would call the function from but return a null value.  I found this to be caused by the vb.net namespace problem.  There was no way of specifying a root namespace so i had a choice of converting to a web application or rewrting the code in C#. (it works perfectly in C#)
I imported it into a new web application, set up the references and built the code.  Now it wont call the function from javascript at all.  It just says 'object not found' even though the function exists and is spelt correctly.  It resides in the aspx page, in script tags inside <head>.
I would like to ask if I have to do anything specifically to enable java script in a web application, that i dont have to do in a web site?  Or is there a less complicated way of acheiving my end goal?

Thanks in advance.
0
Comment
Question by:Terry907
  • 3
5 Comments
 
LVL 3

Expert Comment

by:OutOfTouch
ID: 24133512
Please post some code?
Javascript and the PageMethod being called would help.
Thanks.
0
 

Author Comment

by:Terry907
ID: 24136503
No javascript functionality at all seems to be working.  I commented out the line in the function that calls the ajaxmethod and the line in my page_load event that registers they type and it still doesnt work.  Once I get javascript to work I can then concentrate on my bigger problem.

I have done a lot of work with server side technologies and I actually have 3 MCAD certifications but this is the first time I have looked at client side code.  It just seems to throw up fresh problem after fresh problem.  Maybe there is something obvious i am missing?
I put this in my page_load event:

 LinkButton2.Attributes.Add("Onclick", "update();")
 

I commented out the line that runs the ajaxmethod to see if it had an effect but it still causes an error.

Function update()

    {

    alert("hello");

  // LocalInformationvb1.Contacts.UpdateRecord(UpdateCallback)

    }
 
 

This is the HTML it generates.
 

<a onclick="update();" id="LinkButton2" href="javascript:__doPostBack('LinkButton2','')" style="z-index: 139; left: 0px; position: absolute;

            top: 0px">LinkButton</a>
 

This is the error:

A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll

An exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll but was not handled in user code

Microsoft JScript runtime error: Object expected

Open in new window

0
 
LVL 3

Accepted Solution

by:
OutOfTouch earned 500 total points
ID: 24141598
Can you post your server side method declaration of UpdateRecord, just the attributes applied to it would be fine along with the declaration line, I don't need to see the whole method.
The link button by default works like a submit button, I think the fact that the button wants to doPostBack is part of your problem.
Here is what I think your saying you want to do:
User clicks a button that calls JavaScript to ask the user if they want to delete the record, return true or false, if false than stop the form submit, if true than postback? Or are trying to do a partial postback when they decide to delete the record?
To call a page method  you  must declare the method as Static and it must be marked with the <WebMethod> attribute, you also need to use PageMethod.UpdateRecord in the JavaScript.
 Here is a simple example :
http://www.singingeels.com/Articles/Using_Page_Methods_in_ASPNET_AJAX.aspx
Also instead of an alert box you probably want to use a confirm box :
http://www.w3schools.com/JS/js_popup.asp
http://www.w3schools.com/JS/tryit.asp?filename=tryjs_confirm

 
0
 
LVL 3

Expert Comment

by:OutOfTouch
ID: 24146988
PageMethod above should be PageMethods sorry for the typo.
Here is some more info :
http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx
 
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now