C# 从部分视图重定向到使用json数据对象的视图
我有一个json数据对象,需要通过重定向从部分视图传递到另一个视图 下面是我的部分视图(_createEmp.cshtml):-C# 从部分视图重定向到使用json数据对象的视图,c#,asp.net,ajax,asp.net-mvc,asp.net-ajax,C#,Asp.net,Ajax,Asp.net Mvc,Asp.net Ajax,我有一个json数据对象,需要通过重定向从部分视图传递到另一个视图 下面是我的部分视图(_createEmp.cshtml):- 注意:-此部分视图位于不同的视图或页面中 $(文档).ready(函数(){ LoadData(); }); 函数LoadData(){ $.ajax({ 键入:“获取”, url:baseURL+“员工/GetEmpInfo”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, async:true, 成功:功能(数据)
注意:-此部分视图位于不同的视图或页面中
$(文档).ready(函数(){
LoadData();
});
函数LoadData(){
$.ajax({
键入:“获取”,
url:baseURL+“员工/GetEmpInfo”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
async:true,
成功:功能(数据){
控制台日志(数据);
**EmpData**=data;//EmpData对象
},
错误:函数(错误){
日志(“错误:+错误”);
}
});
}
我想将EmpData对象传输到另一个视图(比如NewEmp.cshtml),从传递的“EmpData对象”绑定该视图中的某些内容并打开该视图(或者重定向到查看NewEmp.cshtml)。当您使用ajax时,您可以从您的操作返回URL并在javascript中重定向它 在看不到控制器动作的情况下,您需要执行以下操作: 控制器
public ActionResult GetEmpInfo()
{
// Do stuff
return Json(new { success = true, redirecturl = Url.Action("GetEmpInfoSuccess") });
}
然后在javascript中向成功处理程序添加如下内容:
Javascript(在成功处理程序中)
向
Employee/GetEmpInfo
发出请求以获取数据并在成功时重定向到其他视图-听起来不太正确
我认为您只需访问服务器一次就可以完成所有这一切:
- 编写一个操作,接收
接收的所有参数。我们把它叫做GetEmpInfo
李>NewEmployee
- 如果
操作是您的代码,重用GetEmpInfo
操作中的逻辑以获取NewEmployee
。如果不是您的代码,您可以使用issue async request和EmpData
并获取HttpClient
——所有这些都在服务器上执行EmpData
- 一旦您有了EmpData,您就应该拥有返回
视图所需的一切NewEmp
NewEmployee
操作,您可以使用常规表单提交
public ActionResult GetEmpInfo()
{
// Do stuff
return Json(new { success = true, redirecturl = Url.Action("GetEmpInfoSuccess") });
}
success: function (data) {
if (data.success == true)
{
window.location = result.redirecturl;
}
}