2012-04-25 58 views
0

我有一個mvc應用程序。我試圖在控制器操作代碼中調用一個javascript函數(比如說Create)...我的想法是,當用戶點擊http://localhost/somecontroller/someaction/id ..控制器應該運行Create函數..在這個函數中,我使用xhrget來獲取從Web服務的信息,並將其寫入view..now我的問題是我如何調用該控制器如何在VB.NET mvc控制器中調用javascript函數?

這裏創建功能創建功能

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}); 

但是有更好的方法來做到這一點。一個簡單的解決方案可能是簡單地在您的控制器中調用http://localhost/SomeService/,並將結果作爲強類型模型傳遞給您的視圖?

+0

謝謝TimDog ...這個「一個簡單的解決方案可能是簡單地調用http:// localhost/SomeService /在你的控制器並傳遞結果」實際上服務是一個休息服務,我不能添加引用在項目中並生成一個代理使用。在這種情況下,我如何直接在控制器中調用服務? – Newbie 2012-04-25 17:56:40

+0

查看這些第三方庫:'hammock'或'restsharp'使您可以輕鬆地從.NET調用RESTful服務。 (不涉及代理) – TimDog 2012-04-26 18:15:40

相關問題