2011-06-02 48 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