Asp.net mvc 3 将列表放入jQuery脚本MVC3中
我使用jQueryUI自动完成。 脚本的一部分是:Asp.net mvc 3 将列表放入jQuery脚本MVC3中,asp.net-mvc-3,jquery-ui,Asp.net Mvc 3,Jquery Ui,我使用jQueryUI自动完成。 脚本的一部分是: $("input[data-autocomplete]").each(function () { var availableTags = ["first", "second"]; 它可以工作-自动完成“第一”和“第二” 现在,我想分配AvailableTags,如下所示: var availableTags = @Viewbag.Something 或 有可能吗?如何以一种好的方式做这件事?在您看来,您可以做: <script typ
$("input[data-autocomplete]").each(function () {
var availableTags = ["first", "second"];
它可以工作-自动完成“第一”和“第二”
现在,我想分配AvailableTags,如下所示:
var availableTags = @Viewbag.Something
或
有可能吗?如何以一种好的方式做这件事?在您看来,您可以做:
<script type="text/javascript">
$(function () {
var MyTags = $.getJSON('@Url.Action("Tags","Home")' function (MyList) {
// Do something with List
// var avaliableTags = MyList;
});
});
</script>
注意,使用属性和JSON允许Javascript通信
编辑:woops,使用关键词。在您的视图中,您可以执行以下操作:
<script type="text/javascript">
$(function () {
var MyTags = $.getJSON('@Url.Action("Tags","Home")' function (MyList) {
// Do something with List
// var avaliableTags = MyList;
});
});
</script>
注意,使用属性和JSON允许Javascript通信
编辑:woops,使用关键词。当然,只需确保对其进行JSON编码:
var availableTags = @Json.Encode(ViewBag.Something);
由于我讨厌ViewBag,建议您始终使用视图模型和强类型视图:
var availableTags = @Json.Encode(Model.Something);
这假定Something
是视图模型上的字符串数组属性,以便在呈现页面时可以获得:
var availableTags = ["first", "second"];
并且可以将其与自动完成插件一起使用。当然,只需确保对其进行JSON编码:
var availableTags = @Json.Encode(ViewBag.Something);
由于我讨厌ViewBag,建议您始终使用视图模型和强类型视图:
var availableTags = @Json.Encode(Model.Something);
这假定Something
是视图模型上的字符串数组属性,以便在呈现页面时可以获得:
var availableTags = ["first", "second"];
并且可以与自动完成插件一起使用。我这样做了,但它不起作用。Html看起来像:“var availableTags=$.getJSON('/Ideas/GetTags/');”Get标记看起来像:“[AcceptVerbs(HttpVerbs.Get)]public JsonResult GetTags(){return Json(_configurationRepository.GetTags(),JsonRequestBehavior.AllowGet);}”知道怎么回事吗?抱歉,第一位是Javascript而不是HTML。我会把我的答案改得更清楚些。您需要使用List来设置您希望对其执行的操作。语法“$.getJSON”(“@Url.Action(“Tags”,“Home”)”函数(List){'现在包装在脚本标记中的部分是Javascript。您需要以相同的方式设置自动完成。除此之外,您可以通过控制器操作访问数据库等,以获取可能的标记-意外使用关键字。请参阅修订的代码(不使用单词列表)Html看起来像:'var availableTags=$.getJSON('/Ideas/GetTags/');Get标记看起来像:'[AcceptVerbs(HttpVerbs.Get)]public JsonResult GetTags(){return Json(_configurationRepository.GetTags(),JsonRequestBehavior.AllowGet);}“知道怎么回事吗?对不起,第一位是Javascript而不是HTML。我将更改我的答案以更清楚。您需要使用List来设置您希望对其执行的操作。语法为“$.getJSON”(“@Url.Action(“Tags”,“Home”)”函数(List){'现在包装在脚本标记中的部分是Javascript。您需要以相同的方式设置自动完成。除此之外,您可以通过控制器操作访问数据库等,以获取可能的标记-意外使用关键字。请参阅修订的代码(不使用单词列表)