2012-04-25 3 views
0

У меня есть приложение mvc. Я пытаюсь вызвать функцию javascript (например, Create) в коде действия контроллера ... моя идея здесь в том, что когда пользователь нажимает http://localhost/somecontroller/someaction/id .. контроллер должен запустить функцию Create. В этой функции я использую xhrget для получения информацию от веб-сервиса и пишет на view..now мой вопрос, как я называю Создать функцию в контроллереКак вызвать функцию javascript в контроллере mvc VB.NET?

здесь Создание функции

Create: function (obj) 
{ 
var xhrGet1 = dXhr.get({ 
       url: "http://localhost/SomeService/parameter?id=" + obj.id, 
       handleAs: "json", 
       headers: { 'accept': 'application/json' } 
      }); 
--- 
--- 
--- 
} 

Вот как я начал контроллер и не в состоянии двигаться вперед с этим ... Любые идеи?

Function somecontroller (id As string) As ... 

спасибо.

ответ

0

Если вы пытаетесь непосредственно вызвать функцию Create, которая предположительно живет в вашей стороне клиента Javascript кода с помощью somecontroller, вы хотите сделать что-то подобное в вашем ActionResult метод, который перехватывает первоначальный запрос, который живет в somecontroller :

ViewBag.Id = id 

И тогда в вашем .cshtml зрения вы должны добавить эту функцию на вашей странице загрузки (либо $(document).ready() { ... } с JQuery или просто window.onload = function() { ... }:

someObj.Create({id: @ViewBag.Id}); 

BUT есть лучшие способы сделать это. Одним простым решением может быть просто вызвать http://localhost/SomeService/ в вашем контроллере и передать результат в виде сильно типизированной модели на ваш взгляд?

+0

Спасибо TimDog ... с этим «Одно простое решение может состоять в том, чтобы просто вызвать http: // localhost/SomeService/в вашем контроллере и передать результат» на самом деле служба - это служба отдыха, и я не могу добавить ссылку в проекте и создать прокси для использования. Как я могу вызвать службу непосредственно в контроллере в этом сценарии? – Newbie

+0

Посмотрите на эти сторонние библиотеки: 'hammock' или' restsharp', чтобы облегчить себе вызов служб RESTful из .NET. (без участия прокси) – TimDog