拖放列表项(多选)

问题描述 投票:1回答:1

我需要用来自JSON数据的项填充动态列表框,这些项是动态的并且来自Asp.Net和MySQL数据库。

我在互联网上遇到了一些代码片段,但似乎都无法满足我的需求。

我没有错误,但列表框为空。

下面的我的代码。

如何解决此问题?

谢谢!

protected string GetJsonData()
{
    string query = "SELECT * FROM City ORDER BY NAME DESC LIMIT 5;";
    string constr = ConfigurationManager.ConnectionStrings["cn"].ConnectionString;
    using (MySqlConnection con = new MySqlConnection(constr))
    {
        using (MySqlCommand cmd = new MySqlCommand(query))
        {
            List<ListItem> customers = new List<ListItem>();
            cmd.CommandType = CommandType.Text;
            cmd.Connection = con;
            con.Open();
            using (MySqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    customers.Add(new ListItem
                    {
                        Value = sdr["Name"].ToString(),
                        Text = sdr["Name"].ToString()
                    });
                }
            }
            con.Close();

            JavaScriptSerializer jsSer = new JavaScriptSerializer();
            string str = jsSer.Serialize(customers);
            return str;
        }
    }


    <script type="text/javascript">
        $(function () {
            //Get data and fill first box
            var $json = <% =GetJsonData() %>;
            pageload($json);
        });
    </script>

   <div id="list1" class="connectedSortable">
       <asp:ListBox ID="lstCustomers" runat="server"></asp:ListBox>
   </div>
   <div id="list2" class="connectedSortable">
   </div>
mysql json listbox
1个回答
1
投票

然后您可以将数据库查询读入阅读器并将对象填充到列表中,如下所示:

public class Movie
{
    public string MovieID { get; set; }
    public string MovieName { get; set; }
    public string MovieLength { get; set; }
    public string MovieDesc { get; set; }
}


List<Movie> listOfMovies = new List<Movie>();

using(SqlConnection connection = new SqlConnection("Data Source=balder.ucn.dk;Initial Catalog=dmaa0213_6;********"))
{
    using(SqlCommand cmd = new SqlCommand(connection))
    {
        cmd.CommandString = "SELECT * FROM movies ORDER BY MovieId";
        connection.Open();
        using(SqlDataReader reader = cmd.ExecuteDataReader())
        {
            while(reader.Read())
            {
                Movie item = new Movie();
                item.MovieId = reader.GetInt32(0);
                item.MovieName = reader.GetString(1);
                item.MovieLength = reader.GetString(2);
                item.MovieDesc = reader.GetString(3);
                listOfMovies.Add(item);
            }
        }
        connection.Close();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.