2011-06-02 45 views
0

我正在使用jQuery發回我的控制器,但我想知道如何在ActionResult中傳遞值作爲參數。例如:使用jQuery回發到控制器

我有一個jQuery的崗位:

$.post("Home\PostExample") 

,但我想包括從下拉菜單中選擇一個值:

@Html.DropDownListFor(m => m.Example, Model.Example, new { @id = "exampleCssId" }) 

到一個ActionResult:

[HttpPost] 
public ActionResult PostExample(string myString) 
{ 
    //TODO: Write contents of ActionResult 
} 

任何幫助,將不勝感激。

謝謝。

回答

4

我認爲這應該工作:

$.post("Home/PostExample", { myString: $("#exampleCssId").val() }); 
+0

這正是我想要的。謝謝。 – BigBadDom 2011-06-02 13:41:57

1

下面是一些我最近所做的一個例子:

function SaveNewGoal() { 
    var data = { Name_E: $("#NewGoal #Name_E").val(), 
     Name_F: $("#NewGoal #Name_F").val(), 
     Desc_E: $("#NewGoal #Desc_E").val(), 
     Desc_F: $("#NewGoal #Desc_F").val() 
    }; 

    $.ajax({ 
     url: '@Url.Action("CreateJson", "Goal")', 
     data: JSON.stringify(data), 
     success: SaveNewGoalSuccess, 
     error: SaveNewGoalError, 
     cache: false, 
     type: 'POST', 
     contentType: 'application/json, charset=utf-8', 
     dataType: 'json' 
    }); 
} 

function SaveNewGoalSuccess(data, textStatus, jqXHR) { 
    $("#NewGoalContainer").hide(); 
    // reload the goal list 
    ReloadGoals(); 
} 

function SaveNewGoalError(jqXHR, textStatus, errorThrown) { 
    $("#NewGoalResult").text("Error: " + jqXHR.responseText); 
} 
+0

感謝您的回覆,這是另一個很好的方法。 – BigBadDom 2011-06-02 13:43:19

1

添加到grega的回答,您還可以利用回調函數,如果你想從操作方法返回一些數據並將其顯示給用戶。

$.post("Home/PostExample", { myString: $("#exampleCssId").val() }, function(result){  
    alert(result);  
}); 
+0

謝謝Bhaskar,很高興知道。 – BigBadDom 2011-06-02 13:42:34