我想将值传递给控制器并执行查询。然后我想将查询中的值返回到我的jquery函数,然后我可以将这些值分配给各种文本框。我无法弄清楚如何将数据恢复到jquery。我只做过ajax调用,返回部分视图。我在ASP.NET中工作
答案 0 :(得分:2)
您可以在下面的函数中使用ajax调用,您可以在需要时调用此函数..
function(id){
$.ajax({
url: "Your Controller/Method path",
data: JSON.stringify({
id: id
}),
dataType: "json",
type: "POST",
async: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
if(data.success){
//Here you will get the value from the Controller if successfully executed
// you get values from data and you can assign those values to the textboxes based on your requirement..
}
}
})
}
控制器方法:
public JsonResult functionName(int id)
{
JsonResult result = null;
try
{
var queryValue;
//here you can put your query and assign it to queryValue and return it back to the UI.
result = Json(new { success = true, data = queryValue }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
result = Json(new { success = false, message = ex.Message }, JsonRequestBehavior.AllowGet);
}
return result;
}
}
希望这会对你有帮助..
答案 1 :(得分:0)
你最好的选择是使用Json。
创建C#模型服务器端:
var result = new ResultModel
{
Item1 = "This is a result",
Item2 = "Another thing to return",
Item3 = 5,
ItemArray = new List<string>{ "Thing 1", "Thing 2" }
};
return Json(result);
/* Server-side you don't *have* to use a model; an anonymous object is also fine, eg:
* return Json(new { Item1 = "This is a result" }); etc.
*/
然后你的Ajax成功函数就可以接受这个Json结果了:
$.post(url, data, function(json) {
$("#textBox1").val(json.Item1);
$("#textBox2").val(json.Item2);
// etc....
};
这假设你正在使用jquery。其他框架具有不同的客户端语法。使用像jquery这样的东西来做Ajax比自己编写代码要好得多。
jQuery通常可以判断你是发送回json还是html,但是如果你得到奇怪的结果,你可能需要用$ .post替换$ .ajax并指定你期望json作为回报。