luckywb88 2014-11-16 08:32 采纳率: 100%
浏览 1738
已采纳

asp.net mvc3中的小问题。

asp.net mvc3 中,在view中用jquery的$.post添加数据成功后,用$.get加载所有数据,为什么显示不了$.post的数据呢?
这是页面的js:

$("#dialog-form").dialog({
autoOpen: false,
height: 400,
width: 400,
mode: true,
buttons:
{
'ok': function () {
var name = $("#Name").val();
var sex = $("#Sex").val();
var age = $("#Age").val();
var phone = $("#Phone").val();
$.post("/Person/Add", { "Name": name, "Sex": sex, "Age": age, "Phone": phone }, function (data) {
if (data.Result) {
$.get("/Person/Index");
$("#dialog-form").dialog('close');
}
else {
$("#dialog-message p").html(data.Message);
$("#dialog-message").dialog('open');
}
})
},
'cancel': function () {
$("#dialog-form").dialog('close')
}
}
});

控制器的Add方法:

[HttpPost]
public ActionResult Add(tb_Person p)
{
bool Result = false;
string Message = string.Empty;
try
{
using (var context = new MvcContext())
{
context.Persons.Add(p);
context.SaveChanges();
//return RedirectToAction("Index", context.Persons.ToList());
Result = true;
}
}
catch (Exception ex)
{
Result = false;
Message = ex.Message;
}
var ResultData = new { Result, Message };
return Json(ResultData);
}

后台的index方法:

public ActionResult Index()
{
using (MvcContext context = new MvcContext())
{
return View(context.Persons.ToList());
}
}
为什么显示不了post的数据?
谁有解?

  • 写回答

1条回答

  • 宝_爸 2014-11-18 02:16
    关注

    $.get("/Person/Index"); 并不进行显示,也不是redirect. 只是从服务器取得数据。

    $.get一般这么用,取得页面数据后进行显示。
    $.get( "ajax/test.html", function( data ) {
    $( ".result" ).html( data );
    alert( "Load was performed." );
    });

    你的Index() controller返回的是view,应该就是处理过的html,可以参考上面的代码进行显示。

    一般只是返回数据,例如Person的列表,作为json返回,再在js中进行处理显示。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀