程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> asp net mvc-asp.net mvc3中的小問題。

asp net mvc-asp.net mvc3中的小問題。

編輯:編程綜合問答
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的數據?
誰有解?

最佳回答:


$.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中進行處理顯示。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved