MVC c#将信息从控制器传递到视图
本文关键字:视图 控制器 信息 MVC | 更新日期: 2023-09-27 18:13:12
我有一个问题,我有一点麻烦弄清楚。我需要传递一些数据,一个字符串,从一个控制器到一个已经强类型视图。我目前在一个实时环境中工作,所以我不完全知道结构或其他控制器/视图被传递,除了我正在工作的那些。
我猜有不止一个,因为一个简单的ViewBag似乎不起作用。我试过在viewbag中存储字符串,但那没有显示在视图上。为了说明,我使用了:
Viewbag.PassedString = "This is a test"
.
<div> @Viewbag.PassedString </div>
不管怎样,就像我说的那样没有工作,我猜数据在这个过程中丢失了。接下来,我尝试使用TempData,但这也不起作用。
我忘记什么重要的事了吗?有没有别的办法来完成这项工作?这里有个错别字两边的属性名应该是一样的比如你把视图中的"p"调小了而不是那样,
试
<div> @Viewbag.PassedString </div>
: -
从你的查询我理解,你正在返回json, ViewBag是用来传递数据从控制器到视图引擎。在这种情况下,你返回的是json,没有视图,所以要使Viewbag工作,它应该返回一个视图。
再更新一次:-
在你的代码中,我猜你可以在这里传递object:-
写 return Json(dataYouWantToPass, JsonRequestBehavior.AllowGet);
代替
return Json("", JsonRequestBehavior.AllowGet);
,在你的jquery中你可以得到下面的成功调用:-
$.ajax({
cache: false,
type: "GET",
url: "@(Url.Action("GetDownloadLink", "Export"))",
data: { "stadId": stadId, "catId": catId },
success: function(data) {
$('#bezig-tekst').html('');
$('#download-link').show();
alert(data); ////here you get the data you sent from controller.
},
error: function(xhr, ajaxOptions, thrownError) {
alert('Failed to retrieve xml.');
}
});
});
您有一些语法错误(您使用什么作为编辑器?)你应该在你的控制器中使用这个:
ViewBag.PassedString = "This is a test";
@ViewBag.PassedString