【发布时间】:2017-12-27 14:51:42
【问题描述】:
我正在学习 ASP.net MVC - 5,但遇到了一个问题。所以我需要在成功的 Ajax 发布请求后打开一个 URL。但我也想将一个值传递给新 URL 的控制器操作。以下是我到目前为止所拥有的。
AJAX 调用
$.ajax({
url: URL,
type: 'POST',
data: data,
success: function (result) {
if (result == true) {
int TEMPVAR = 2;
DisplayError('Save Successful', 'Success', function () {
window.location.href = '/Settings/Customize/'; });
},
error: function (error) {
}
});
控制器动作
[AuthorizeSettings]
public ActionResult Customize()
{
//I want to be able to access TEMPVAR value here
// code removed for brevity
return View(configData);
}
问题:如何将TEMPVAR data传递给Customize Action
积分:
我知道有一些方法可以传递数据。 TempData、Viewbag、SessionVariable、在 URL 请求中嵌入 TEMP 值、匿名对象、ViewData、类的静态变量、全局变量、JSON。但我完全困惑如何传递数据。我是新手,请在这里指导我。
编辑:
AJAX 调用
$.ajax({
url: URL,
type: 'POST',
data: data,
success: function (result) {
if (result == true) {
int TEMPVAR = 2;
DisplayError('Save Successful', 'Success', function () {
window.location.href = '/Settings/Customize/'; });
TEMPDATA["value"] = TEMPVAR;
},
error: function (error) {
}
});
【问题讨论】:
-
你应该可以访问
TempData,如果它已经被访问过的话。 -
@Win: 你的意思是说我需要将 TEMPVAR 数据设置成 TEMPData[]
-
我有一个变量,比如说 TEMPVAR,我需要在 POST 请求成功后将其传递给自定义控制器操作。
-
是的,您需要将数据设置为 TempData["SomeName"]。然后您可以稍后检索。
-
@Win 非常感谢!你能看看我的编辑吗?
标签: c# ajax asp.net-mvc post asp.net-mvc-5