我有基于人体模型的这个视图,这是一个实体模型。根据部分视图中的操作返回主视图中的几个局部视图
@model TestApp.Models.Person
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@Html.Partial("../PersonContactData/Create");
然后我的PersonContactData控制器返回部分视图“创建”,它有一个窗体和一个提交按钮。当我按下提交按钮时,我会从PersonContactData控制器执行一个redirectToAction以索引,并且我想从Index返回到上面描述的页面。
我该怎么做?
而且我希望所有这一切都在没有页面刷新的情况下发生。我可以通过ajax传递所有的值,但是我需要一些'容器'或者某些东西来实际地获取返回到基于Person模型的主视图的部分视图(列表,创建,编辑,..从PersonContactData)。 换句话说,这些动作及其相应的局部视图及其功能可以在基于antother模型(Person)和控制器(PersonController)的页面中工作
这就是例如一个ajax post函数,我用它来获取创建视图的值。这工作,但我仍然希望重定向到我的HttpPost创建操作中的操作索引,并返回视图索引,因为它应该工作。但我的主视图(基于Person模型)不会显示它。
function ACGetList() {
var personContactData = {
ContactType: $('#ddlContactDataType').val(),
Value: $('#txtContactDataValue').val()
};
$.ajax({
url: '/PersonContactData/Create',
type: 'POST',
data: JSON.stringify(personContactData),
dataType: 'Json',
contentType: 'application/json; charset=utf-8',
success: function() { },
error: function() { }
});
}
在此先感谢
在我的项目中我使用ajax来获得部分视图'Cr eate'(基于模型PersonContactData),这是插入到我的主视图(基于模型Person)。但仍然如果我从部分视图点击按钮(onclick函数ACGetList现在显示在主要主题中)我希望我的RedirectToAction函数返回到主页面的另一个局部视图(基于Person模型) – user707596 2011-04-14 13:58:44
ok你的ajax成功可以有另一个Ajax进入它或使用队列功能发生在它后面,如果你在服务器端重定向它,你只是迫使浏览器去不同的位置。下载firebug,在你的Firefox上,它会帮助你更好地理解它,并且正确地调试你的脚本,然后你可以看到每个Ajax请求返回的内容。 – Val 2011-04-14 13:59:04