2011-04-29 53 views
0

我想從視圖傳遞一個值到控制器,當我使用下面的代碼時,通過jquery獲取的值不起作用,控制器中的值爲null。從View(jquery腳本)到控制器的MVC傳遞值

//Hardcoded to test 
    var groupId = 1; 
    $('#timeList').load('/Time/Index/' + groupId); 

    public ActionResult Index(int? groupId) 
    { 
     AddProjectToViewData(-1); 
     return View(_service.ListTimes()); 
    } 

回答

0

假設您在global.asax.cs中使用默認路由,您可以在ID中檢索此值

public ActionResult index(int? id) 
{ 
    AddProjectToViewData(-1); 
    return View(_service.ListTimes()); 

} 

如果你希望得到它的groupid,你必須改變jQuery代碼一點 //硬編碼到測試

var groupId = 1; 
    $('#timeList').load('/Time/Index?groupid=' + groupId); 
0

你想做一個帖子或get,我想你可能想傳回一個字符串或json。爲了方便,我會告訴你使用JSON一個get:

///你的JavaScript

var groupId =1; 

$.get('Time/Index/' + groupId, function(data) { 
    $('#timeList').val(data); 
    ///might need to do a for each since you are returning a list or whatever 
}); 

///您的控制器邏輯

[HttpGet] 
public string Index(int? groupId) 
    { 
     AddProjectToViewData(-1); 
     //might want to pass back json here 
     return WhateverYourDataIs.ToString(); 
    } 

希望這有助於

+0

如何它與這個問題有關嗎?雖然我不會給它-1! – 2011-04-29 04:25:45

+0

他的問題具體指出「從視圖向控制器傳遞價值」 - 這就是它的關係。 – 2011-04-29 06:22:45

1

試試這個:

var groupId = 1; 
$('#timeList').load('/Time/Index', {groupId: groupId}); //Send named parameter 

[HttpGet] 
public ActionResult Index(int? groupId) 
{ 
    AddProjectToViewData(-1); 
    return View(_service.ListTimes()); 
} 

希望這有助於

相關問題