我正在使用jQuery发回我的控制器,但我想知道如何在ActionResult中传递值作为参数。例如:
我有一个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
}
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:4)
我认为这应该有效:
$.post("Home/PostExample", { myString: $("#exampleCssId").val() } );
答案 1 :(得分: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);
}
答案 2 :(得分:1)
添加到grega的答案,如果你想从action方法返回一些数据并将其显示给用户,你也可以使用回调函数。
$.post("Home/PostExample", { myString: $("#exampleCssId").val() }, function(result){
alert(result);
});