Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > ASP.NET and ASP > ASP.NET 4 > BOOK: Beginning ASP.NET 4 : in C# and VB
Password Reminder
Register
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
BOOK: Beginning ASP.NET 4 : in C# and VB
This is the forum to discuss the Wrox book Beginning ASP.NET 4: in C# and VB by Imar Spaanjaars; ISBN: 9780470502211
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Beginning ASP.NET 4 : in C# and VB section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developersí questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old October 18th, 2010, 07:36 AM
Authorized User
Points: 267, Level: 5
Points: 267, Level: 5 Points: 267, Level: 5 Points: 267, Level: 5
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jan 2010
Posts: 56
Thanks: 17
Thanked 2 Times in 2 Posts
Default Ch10 - page 354 step 7 - No Function

Hello again!
Step 7 does not work for me.
The page "WebServices.aspx" displays without error.
But when I type my name and press the "SayHello" button, nothing happens.

The code is below.
Any clues?
Thanks
Ken

WebServices.aspx
Code:
<%@ Page Title="Web Services Demo" Language="C#" MasterPageFile="~/MasterPages/Frontend.master" AutoEventWireup="true" CodeFile="WewbServices.aspx.cs" Inherits="Demos_WewbServices" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cpMainContent" Runat="Server">
  <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
  <Services>
  <asp:ServiceReference Path="~/WebServices/NameService.asmx" />
  
  </Services>
  </asp:ScriptManagerProxy>
  <input id="YourName" type="text" />
  <input id="SayHello" type="button" value="SayHello" />

  <script type="text/javascript">
    function HelloWorld() 
    {
      var yourName = $get('YourName').value;
      NameService.HelloWorld(yourName, HelloWorldCallback);
    }

    function HelloWorldCallback(result) 
    {
      alert(result); 
    }

    $addHandler($get('SayHello'), 'click', HelloWorld);

  </script>
  
</asp:Content>
NameServices.cs
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for NameService
/// </summary>


[WebService(Namespace = "http://tempuri.org/")]


[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. Ref: page 351 & 353.
[System.Web.Script.Services.ScriptService]

public class NameService : System.Web.Services.WebService {

    public NameService () 
    {
        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

  // this code is updated from page 351 in the book to show three parameters with different data types
    [WebMethod]
    public string HelloWorld(string firstName, string lastName, int age) 
    {
        return string.Format("Hello {0} {1} {2}", firstName, lastName, age);
    }
    
}

NameService.asmx
Code:
<%@ WebService Language="C#" CodeBehind="~/App_Code/NameService.cs" Class="NameService" %>

Last edited by ken evans; October 18th, 2010 at 07:37 AM. Reason: typo
Reply With Quote
  #2 (permalink)  
Old October 18th, 2010, 07:49 AM
Imar's Avatar
Wrox Author
Points: 71,164, Level: 100
Points: 71,164, Level: 100 Points: 71,164, Level: 100 Points: 71,164, Level: 100
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jun 2003
Location: Utrecht, Netherlands.
Posts: 16,948
Thanks: 79
Thanked 1,555 Times in 1,532 Posts
Default

Code:
public string HelloWorld(string firstName, string lastName, int age)
You made up parameters in the web service that you're not passing to it from the client side code. This should work:

Code:
public string HelloWorld(string firstName)
or this:

Code:
NameService.HelloWorld(yourName, "LastName", 39, HelloWorldCallback);
Hope this helps,

Imar
---------------------------------------------------------------------------------------------------------------------
Imar Spaanjaars
http://Imar.Spaanjaars.Com
Follow me on Twitter

Author of Beginning ASP.NET 4 : in C# and VB, Beginning ASP.NET 3.5 : in C# and VB and ASP.NET 2.0 Instant Results.
While typing this post, I was listening to: Station Approach by Elbow (From the album: Leaders of the Free World) What's This?
Reply With Quote
The Following User Says Thank You to Imar For This Useful Post:
ken evans (October 18th, 2010)
  #3 (permalink)  
Old October 18th, 2010, 08:01 AM
Authorized User
Points: 267, Level: 5
Points: 267, Level: 5 Points: 267, Level: 5 Points: 267, Level: 5
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jan 2010
Posts: 56
Thanks: 17
Thanked 2 Times in 2 Posts
Default

Thanks Imar,
It's all working now.
I used the " firstName, lastName, age" code to experiment with multiple parameters in the previous exercise. It worked OK there but clearly broke things in this exercise.

Ken
Reply With Quote
  #4 (permalink)  
Old January 27th, 2012, 07:25 AM
Registered User
Points: 14, Level: 1
Points: 14, Level: 1 Points: 14, Level: 1 Points: 14, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jan 2012
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default Problem with Calling Web Services from Client-Side Code

Hello!

I got a problem while writing the code of the try it out on the page 352.

At step 6, when writing

Code:
var yourName=$get('YourName').value
the .value does not highlighted from intellisence.

When I request the page in the browser, will be loaded, but writing in the textbox and pressing the button does not alert the message.

Any Idea?

Thank's in advance
Reply With Quote
  #5 (permalink)  
Old January 27th, 2012, 09:08 AM
Imar's Avatar
Wrox Author
Points: 71,164, Level: 100
Points: 71,164, Level: 100 Points: 71,164, Level: 100 Points: 71,164, Level: 100
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jun 2003
Location: Utrecht, Netherlands.
Posts: 16,948
Thanks: 79
Thanked 1,555 Times in 1,532 Posts
Default

Quote:
the .value does not highlighted from intellisence.
This is by design. Visual Studio doesn't know the return value of $get has a value property. This is because of the untyped nature of JavaScript.

Quote:
but writing in the textbox and pressing the button does not alert the message.
Could be anything. Can you post the code for the page as well as the code for the web service? And have you tried debugging your code?

Imar
__________________
Imar Spaanjaars
http://Imar.Spaanjaars.Com
Follow me on Twitter

Author of Beginning ASP.NET 4.5 : in C# and VB, Beginning ASP.NET Web Pages with WebMatrix
and Beginning ASP.NET 4 : in C# and VB.
Did this post help you? Click the button below this post to show your appreciation!
Reply With Quote
  #6 (permalink)  
Old January 27th, 2012, 01:12 PM
Registered User
Points: 14, Level: 1
Points: 14, Level: 1 Points: 14, Level: 1 Points: 14, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jan 2012
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default Problem on client side for web servcice

Thanks, Imar for you direct responce.

the code in Web Sevice Demo page is the following

Code:
<%@ Page Title="Web Services Demo" Language="C#" MasterPageFile="~/MasterPages/Frontend.master" AutoEventWireup="true" CodeFile="WebServices.aspx.cs" Inherits="Demos_WebServices" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cpMainContent" Runat="Server">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
    <Services>
        <asp:ServiceReference Path="~/WebServices/NameService.asmx" />
    </Services>
</asp:ScriptManagerProxy>
<script type="text/javascript">
    function HelloWorld() {
        var yourName = $get('YourName').value;
        NameService.HelloWorld(yourName, HelloWorldCallback, ErrorCallback);
    }
    function HelloWorldCallback(result) {
        alert(result);
    }
    function ErrorCallback(error) {
        alert(error.get_message);
    }
    $addHandler($get('sayHello'), 'click', HelloWorld());
</script>
<input id="YourName" type="text" />
<input id="SayHello" type="button" value="Say Hello" />
</asp:Content>
The Web service does work. I have tested many times. So the problem is not surely in the web service. Hence, I don't post the coressponding code.

No, I didn't debug my code.

Thank you in advance for your help.

By the chance, your book is really amazing. I have read it from the cover to the 354 page and I hadn't any problem. Also I have learned many things until know.

Christos
Reply With Quote
  #7 (permalink)  
Old January 28th, 2012, 02:31 PM
Imar's Avatar
Wrox Author
Points: 71,164, Level: 100
Points: 71,164, Level: 100 Points: 71,164, Level: 100 Points: 71,164, Level: 100
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jun 2003
Location: Utrecht, Netherlands.
Posts: 16,948
Thanks: 79
Thanked 1,555 Times in 1,532 Posts
Default

Quote:
So the problem is not surely in the web service. Hence, I don't post the coressponding code.
Since it only takes a few seconds, you're probably better off posting the full code if you want people to look at your problem. The service may work by itself, but that doesn't mean it's named correctly, or has script services enabled or has any other problem.
Anyway, that doesn't seem to be the problem here.

Quote:
No, I didn't debug my code.
Probably a good habbit to get used to. Chapter 18 has the full details in case you want to know more. When you debug, it's easy to see if references are OK (they are not, in this case) and which code gets called.

Take a look at this:

Code:
$addHandler($get('sayHello'), 'click', HelloWorld());
You're using sayHello while the control is called SayHello with an upper case S.

Quote:
By the chance, your book is really amazing. I have read it from the cover to the 354 page and I hadn't any problem. Also I have learned many things until know.
Really glad to hear that. Thanks!

Imar
__________________
Imar Spaanjaars
http://Imar.Spaanjaars.Com
Follow me on Twitter

Author of Beginning ASP.NET 4.5 : in C# and VB, Beginning ASP.NET Web Pages with WebMatrix
and Beginning ASP.NET 4 : in C# and VB.
Did this post help you? Click the button below this post to show your appreciation!
Reply With Quote
  #8 (permalink)  
Old January 30th, 2012, 06:51 PM
Registered User
Points: 14, Level: 1
Points: 14, Level: 1 Points: 14, Level: 1 Points: 14, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Jan 2012
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default Thanks

Imar thank's a lot for the hints. They really helped !

Thank's again for the direct responce.
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Page 354 Chapter 10 tariq BOOK: Beginning ASP.NET 4 : in C# and VB 4 August 20th, 2010 10:33 AM
Chapter 5 page 156 Example Step 4 NoraBelle BOOK: Professional Microsoft SQL Server 2008 Integration Services ISBN: 978-0-470-24795-2 1 August 2nd, 2010 03:29 PM
Chapter 11 Page 354 skijor BOOK: Beginning ASP.NET 3.5 : in C# and VB BOOK ISBN: 978-0-470-18759-3 6 August 9th, 2009 08:02 AM
Page 222 Step 5 Whitney Schopf BOOK: Beginning Visual Basic 2005 ISBN: 978-0-7645-7401-6 1 November 6th, 2006 05:43 AM
step of opening a web page somnath.kartic VS.NET 2002/2003 0 March 30th, 2006 02:24 AM



All times are GMT -4. The time now is 07:01 PM.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.