Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 将列表放入jQuery脚本MVC3中_Asp.net Mvc 3_Jquery Ui - Fatal编程技术网

Asp.net mvc 3 将列表放入jQuery脚本MVC3中

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

我使用jQueryUI自动完成。 脚本的一部分是:

$("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。您需要以相同的方式设置自动完成。除此之外,您可以通过控制器操作访问数据库等,以获取可能的标记-意外使用关键字。请参阅修订的代码(不使用单词列表)