2009-08-13 15 views
0

Ich habe eine asp.net MVC-Anwendung, und ich brauche, um AJAX in dieser Anwendung zu verwenden, muss ich einen Skriptmanager hinzufügen und fügen Sie einen Dienst refrences mit dem Pfad eines Webdienstes und dann Rufen Sie den Webdienst vom Tag an. Ich habe den folgenden Code und es nicht den Web-Service nicht sehen:Ajax (Aufruf von Web-Service) mit MVC

<form> 
<input id="SubmitBtn" type="button" value="Sumbit" onclick="TestService(); return false;" /> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    <Services> 
     <asp:ServiceReference Path="~/MVCService.asmx" /> 
    </Services> 
    </asp:ScriptManager> 
<script type="text/javascript" language="javascript"> 
    function TestService() 
    { 
     alert('Welcome'); 
     var ret = MVCService.HelloWorld(OnCheckComplete,OnFailed,OnTimeOut); 
    } 
    function OnCheckComplete(arg) 
    { 
     alert(arg); 
    } 
    function OnFailed(arg) 
    { 
     alert(arg); 
    } 
    function OnTimeOut(arg) 
    { 
     alert(arg); 
    } 
    </script> 
</form> 

Und es gibt einen Fehler sagen: MVCService ist undefiniert so wie kann ich dieses Problem lösen? Benötige ich eine spezielle Konfiguration in der MVC-Anwendung, um dieses Problem zu lösen? habe ich Ajax Toolkit dll meiner Anwendung refrences hinzufügen und das Problem existiert noch

Vielen Dank im Voraus

Antwort

1

Dank jeder i die soltuion für das Problem an der folloiwng Link gefunden haben: Ajax with asp.net mvc

Der folgende Teil mein Problem gelöst:

<script type="text/javascript" src="../../Content/MicrosoftAjax.debug.js"></script> 
<script type="text/javascript"> 
function TestService() 
{ 
    Sys.Net.WebServiceProxy.invoke("../../Services/MVCService.asmx","HellowWord", false,null, success, fail); 
} 
</script> 
+0

Bitte sagen Sie, welcher Teil dieses Links Ihr Problem gelöst hat, so dass jeder weiß. –

+0

Hoffe, dass dies für alle neuen MVC Ajax oder Nin MVC überhaupt – Ahmy

+0

+1 für die Bearbeitung dieser nützlich sein wird. Vielen Dank. –

2

einfach die jQuery-Lösung setzen da draußen, wenn Sie jQuery wechseln wollen:

function TestService() 
{ 
    alert('Welcome'); 

    $.ajax({ 
     url: "MVCService.asmx/HelloWorld", 
     data: "{}", 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     processData: false, 
     dataType: "json" 
     success: function(msg) { 
      alert(msg.d); 
     } 
    }); 
} 

Nehmen Sie sicher, dass

using System.Web.Script.Services; 
    [ScriptService] 
public class MVCService : WebService 
{ 
    [WebMethod] 
    [ScriptMethod] 
    public DateTime HelloWorld() 
    { 
     return DateTime.Now; 
    } 
+0

wo diese jQuery-Code setzen? An welcher Stelle in meinem Code habe ich den vollständigen Code der Ansicht geschrieben, also kannst du mir sagen wo ich diesen Code pu habe, um den Webservice anzurufen? – Ahmy

0

Oder - Sie eine reguläre Controller-Aktion für diese verwenden können.

Wenn

"foo/bar"

Strecke konfiguriert ist, um

controller = "foo", action = "bar"

dann

$.get("foo/bar", data, callback, "html") 

mit jQuery wird es nennen.

1

Versuchen Sie, Steuerelemente mit Viewsate in einer MVC.NET-Seite hinzuzufügen?

ScriptManager muss in einer Form runat = "Server" sein, denke ich.

+0

Ich setze das Formular-Tag mit runat = "server" und funktioniert nicht – Ahmy

Verwandte Themen