[英]how to pass multiple values to ajax?
现在,我有一个值正在传递并返回到文本框。 我想添加多个文本框,并将所有值从控制器传递给ajax函数,以便在页面加载时显示在文本框中。
Controller:
public string GetFormData()
{
//using Linq query and EF
Form form = db.Forms.Find(1);
if (form == null)
{
return "";
}
else
return form.username;
}
AJAX:
$("#btnSaveForm").click(function (event) {
event.preventDefault();
$('#Result2').html("<img src='/Images/loading.gif' />");
$.post($("#frmform").attr("action"), $("#frmform").serialize(), function (result) {
if (result != null) {
$('#Result2').html(result);
}
});
});
您只需要返回JSON结果。 考虑以下简单示例:
模型
public class JSONTestModel
{
public string Name { get; set; }
public bool IsMarried { get; set; }
public int Age { get; set; }
}
调节器
public ActionResult TestJSON()
{
var model = new JSONTestModel()
{
Name = "John Smith",
IsMarried = true,
Age = 35
};
return View(model);
}
[HttpPost]
public ActionResult TestJSON(JSONTestModel model)
{
// YOUR CODE HERE
return Json(model);
}
请注意,post方法返回JSON结果。 这将序列化传递给Json的对象。
视图
@using (Html.BeginForm())
{
@Html.EditorForModel()
<input id="save-data" type="button" value="Save" />
}
<script type="text/javascript">
$(function () {
$('#save-data').click(function () {
$.post($("form").attr("action"), $("form").serialize(), function (result) {
if (result != null) {
alert('Name - ' + result.Name);
alert('IsMarried - ' + result.IsMarried);
alert('Age - ' + result.Age);
}
});
});
});
</script>
result
参数是您在控制器中返回的json对象。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.