ввод тегов с помощью typeahead из локального источника данных сервера

Ссылка - это сущность, которая является псевдонимом для другого объекта .

Ссылка не является variable в качестве переменной вводится только объявлением объекта . Объект является областью хранения, а в C ++ ссылки не (обязательно) занимают какое-либо хранилище.

Поскольку объекты и ссылки представляют собой различные группы объектов в C ++, поэтому термин «ссылочная переменная» не имеет смысла.

0
задан Lys 13 July 2018 в 21:42
поделиться

2 ответа

попробуйте

local: JSON.parse($('#<%= hdTypeahead.ClientID %>').val())

или откройте консольный журнал на той же странице и получите точное значение этого элемента из $ ('# & lt;% = hdTypeahead.ClientID%>')

0
ответ дан Burhan Ibrahimi 17 August 2018 в 12:07
поделиться

Проблема заключается не в том, что ваши данные поступают со стороны сервера, а на самом деле анализируют массив 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;

Надеюсь, что это поможет

0
ответ дан Zaki Mohammed 17 August 2018 в 12:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: