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中进行处理显示。

时间: 2024-11-05 16:33:17

asp net mvc-asp.net mvc3中的小问题。的相关文章

在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录

  在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录 前言 最近有个Web项目,业务功能不复杂,但是这个客户(某政府部门)有两个硬性要求:1.数据库必须使用Oracle;2.程序必须运行在Linux或HP-Unix系统中.虽然把.NET程序跑在Linux中一直都是俺的自觉要求,之前也断续为此做了一些准备(我们自己的一些底层框架库已经在Linux中顺利跑起来了),但是把一个Web项目完整的移植到Mono in CentOS 6.x中确

体验ASP.NET MVC 3“.NET研究”中的Razor特性

1 闲话ASP.NET MVC 3 beta 不知道不觉MVC3更新了好几次了...因为一直在弄Silverlight的开发没有时间关注ASP.NET MVC.之前出preview 的时候就看了园子里的一些文章. 但是总觉得"不咋地",依赖注入早就有一套了,全局拦截器也就那么回事..好像都没有对开发效率有太大的提升...(一己之见.目前正在学习MVC3BEAT的DI). 除了RAZOR...  好吧. 现在开始动手吧! 2开工  2.1目录     在_ViewStart.cshtml

浅谈ASP.NET MVC在前端开发中的局限性

ASP.NET MVC 如果你还没有接触过后端的MVC框架的话,不妨先看看下面这段ASP.NET MVC代码并且了解一下后端MVC的工 作原理.它摘自ASP.NET MVC教程中非常著名的项目MVC Music Store一段Controller组件代码: public class StoreManagerController : Controller { private MusicStoreEntities db = new MusicStoreEntities(); // GET: /Sto

ASP.NET MVC 2: 视图输出过程中,Response.Clear不正常工作

在即将发布的Kooboo CMS 2.1.0.0中,将会升级到ASP.NET MVC 2.需要将所 有的Module也同步升级到MVC2,在升级过程中发现MVC2一旦进入View输出阶段后 ,Response.Clear将会不起作用 (Controller执行阶段,这个方法仍然正常工作) ,这将会影响Kooboo CMS Module的正常运行. 在确定是MVC 2引起的问题后,于是就从Response.Clear这个方法着手,它的 代码逻辑如下: 01 public void Clear()

ASP.NET MVC在Visual Studio中的快捷键

在Visual Studio中有一些不错的快捷键,可以帮助我们在ASP.NET MVC Web Project中快速创建 Controller.创建Views以及在Controller Action和View之间切换. ASP.NET MVC快捷键列表如下: -创建Controller:Ctrl+M Ctrl+C -创建View:Ctrl+M Ctrl+V View与Controller Action之间窗口切换:Ctrl+M Ctrl+G 这些快捷键很好用而且容易记,C是Controller的

ASP.NET MVC Framework与WCSF中MVP模式的比较

概述 MVC模式已经出现了几十年了,在GUI领域已经得到了广泛的应用,由于微软ASP.NET MVC Framework的出现,致使MVC一度成为.NET 社区的热名话题.作为MVC的变种MVP模式,也已经出现好几年了,在微软模式与实践小组提供的Web Client Software Factory中,给出了实现 MVP模式的应用程序最佳实践,本文将试着对这两种实现比较一二. MVC(Model-View-Controller,模型-视图-控制器)模式是80年代 Smalltalk-80出现的一

ASP.NET MVC 3和Razor中的@helper 语法

ASP.NET MVC 3支持一项名为"Razor"的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外).当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速.通畅的编码工作流. 与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束.代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码.这种更加简洁.富有表现力的语法更加干净,输入也更快速,有趣. 今天的博文涵盖了Razor

一起谈.NET技术,ASP.NET MVC 3和Razor中的@helper 语法

ASP.NET MVC 3支持一项名为"Razor"的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外).当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速.通畅的编码工作流. 与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束.代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码.这种更加简洁.富有表现力的语法更加干净,输入也更快速,有趣. 今天的博文涵盖了Razor

ASP.NET MVC 3和Razor中的@helpe“.NET技术”r 语法

ASP.NET MVC 3支持一项名为"Razor"的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外).当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速.通畅的编码工作流. 与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束.代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码.这种更加简洁.富有表现力的语法更加干净,输入也更快速,有趣. 今天的博文涵盖了Razor