gpt4 book ai didi

javascript - RedirectToAction 在 IE(Internet Explorer - 8+) MVC4 Razor 中不起作用

转载 作者:行者123 更新时间:2023-11-28 08:26:01 27 4
gpt4 key购买 nike

我有一个事件页面,在创建新事件(创建操作调用)后,我重定向到该事件 Controller 的 Index 方法。

我使用 Ajax 将数据发送到 Controller 。

@using (Ajax.BeginForm("Create", "Events", new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "updateSuccess"
}, new { @id = "updateEventForm" }))
{

在成功将数据保存到服务器时,它将调用“updateSuccess”javascript方法,在该方法中我将整个索引页作为数据中的html作为参数,如下所示,

function updateSuccess(data)
{
console.log(data);
}

我只需要通过这个Index方法调用以html的形式从服务器获取所有更新的数据,

索引方法:

public ActionResult Index(int SubscriptionID = 0)
{
try
{
return PartialView(Events.GetAllEventsWithoutSubscription());
}
catch (Exception ex)
{
throw ex;
}
}

创建方法:

[HttpPost]
public ActionResult Create(Events objEvents)
{
try
{
int Result = CreateEvent(objEvents);
return RedirectToAction("Index", new { SubscriptionID = objEvents.SubscriptionID });
}
catch (Exception ex)
{
throw ex;
}
}

我不想重定向到索引。我只想通过索引更新 HTML,以便仅通过 jquery 更新索引表。但在 IE8+ 版本中,RedirectAction 不会以某种方式被调用。请尽快提供帮助。

最佳答案

如果您通过 AJAX 执行此操作,为什么不直接返回 Index 方法的结果?:

[HttpPost]
public ActionResult Create(Events objEvents)
{
try
{
int Result = CreateEvent(objEvents);
return Index(SubscriptionID = objEvents.SubscriptionID);
}
catch (Exception ex)
{
throw ex;
}
}

这样,您的浏览器就不必向服务器发出额外的请求来获取结果。如果您以传统方式(不使用 AJAX)发出 POST 请求,并且不希望用户在按 F5 的刷新按钮时再次发送表单,则 RedirectToAction 非常有用>。但使用 AJAX 就不会出现这个问题。

关于javascript - RedirectToAction 在 IE(Internet Explorer - 8+) MVC4 Razor 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22403046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com