Ссылка - это сущность, которая является псевдонимом для другого объекта .
Ссылка не является variable в качестве переменной вводится только объявлением объекта . Объект является областью хранения, а в C ++ ссылки не (обязательно) занимают какое-либо хранилище.
Поскольку объекты и ссылки представляют собой различные группы объектов в C ++, поэтому термин «ссылочная переменная» не имеет смысла.
попробуйте
local: JSON.parse($('#<%= hdTypeahead.ClientID %>').val())
или откройте консольный журнал на той же странице и получите точное значение этого элемента из $ ('# & lt;% = hdTypeahead.ClientID%>')
Проблема заключается не в том, что ваши данные поступают со стороны сервера, а на самом деле анализируют массив Java-скрипта на переменную. Ваши данные хранятся в строчном формате в файле hdTypeahead control, поэтому, чтобы сделать его массивом, вы должны использовать некоторый парсер, присутствующий в java-скрипте. Я реализовал код следующим образом:
WebForm1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="tempApp2.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<input id="hidTypeAhead" type="hidden" runat="server" />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
var typeAhead = JSON.parse($('#<%= hidTypeAhead.ClientID %>').val());
console.log(typeAhead.data);
</script>
</body>
</html>
WebForm1.aspx.vb
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace tempApp2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
hidTypeAhead.Value = @"{""data"":[{ ""name"": ""Foo"" }, { ""name"": ""FFoo"" }, { ""name"": ""Ah"" }]}";
}
}
}
Итак, сначала поймите, что у вас есть массив данных в строке не какой-то объект, а JS - метод JSON.parse (), который может анализировать строку для объекта JS. Поэтому вам просто нужно добавить свой массив к объекту внутри строки, как я сделал следующее:
hidTypeAhead.Value = @"{""data"":[{ ""name"": ""Foo"" }, { ""name"": ""FFoo"" }, { ""name"": ""Ah"" }]}";
Я добавил свой массив в свойство данных объекта JS. Следующая часть состоит в том, чтобы проанализировать ее с помощью JSON.parse (), следующий код сделает нужным:
var typeAhead = JSON.parse($('#<%= hidTypeAhead.ClientID %>').val());
Итак, вы получите свой массив в свойстве data data переменной typeAhead, назначьте свое свойство «local» как
local: typeAhead.data
Или прямо
local: JSON.parse($('#<%= hidTypeAhead.ClientID %>').val()).data;
Надеюсь, что это поможет