【发布时间】:2018-10-29 21:04:21
【问题描述】:
我正在尝试做世界上最简单的事情,但这让我沮丧地把头撞在墙上。我只需要将一个简单的字符串数组从我的 Controller 类中的 C# 方法传递到我的索引视图中的 javascript 代码。就是这样。只需传递一个简单的数组。但是,该死的,如果我能弄清楚我在互联网上看到的任何令人费解的答案,或者对任何令人费解的答案有任何意义。
以下是详细信息(简化):
我的控制器:
public class BobsController : Controller
{
// GET: Bobs
public ActionResult Index()
{
return View();
}
public ActionResult ReturnBobsStuff()
{
List<string> myList = new List<string> { "element1", "element2",
"element3", "element4",
"element5",
};
string[] myArray = myList.ToArray();
return View(myArray);
}
}
我的看法:
<script>
$(function () {
var JavascriptArray = ??;
});
</script>
??显然是问题所在。
【问题讨论】:
-
您需要学习如何使用 jquery 或其他框架进行 ajax 调用。它本质上是异步的,因此您还需要学习如何使用 Promise(或者如果您决定使用 rxjs,则使用可观察的)。通常您使用 web-api 来公开服务器端端点(不是 mvc)。
-
我知道如何进行 ajax 调用,但是如何将 Ajax 调用的数组 out 放入我可以在我的 javascript 中使用的变量中?这不可能那么复杂。这是一个简单的数组。我认为 MVC 的全部意义在于让控制器中的 c# 代码与视图中的 javascript 代码轻松混合。而且不能在两者之间传递简单的字符串数组??
-
把变量放在viewbag中...然后在你的视图中??也就是说,将其序列化为 JSON,以便将其作为文字注入 JS。你不需要让它成为你模型的一部分,除非它会被用在一些 Razor 或其他东西中
-
问题重复this topic。
标签: c# asp.net-mvc razor