Oracle + Select2 - 如何从数据库加载例如10行。 ASP .NET

时间:2016-11-30 08:11:53

标签: c# jquery asp.net oracle select2

我使用的是Oracle数据库和Select2(jquery selectboxes)。我在数据库中有一个包含约500 000条记录的表。我希望得到此表中的前10-20条记录并将其放入Select2下拉列表中。然后,当用户开始进入SearchBox(Select2)时,查询将更改为仅获得与键入的值匹配的10-20条记录。那可能吗?或者您可能有另一种解决方案如何处理这个问题?我认为下拉列表将是最好的。

感谢您的回复。

到目前为止,我已经尝试过这个:



$('#ddlDost').select2({
 url: '<%= ResolveUrl("~/mypage.aspx/getResults") %>',
    dataType: 'json',
    type: "POST",
    params: {
        contentType: 'application/json; charset=utf-8'
    },
    quietMillis: 100,
    data: function (term, page) {
        return JSON.stringify({ q: term, page_limit: 10 });
    },
    results: function (data) {
        console.log(data);
        return { results: data };
    }
});
&#13;
&#13;
&#13;

和代码背后:

[WebMethod]
    [ScriptMethod(ResponseFormat=ResponseFormat.Json, UseHttpGet = false)]
    public static String getResults(String q, String page_limit)
    {

        DataTable dt = new DataTable();
        string connString = "myConnString";
        OleDbConnection con = new OleDbConnection(connString);
        OleDbCommand cmd = new OleDbCommand();
        cmd.CommandText = "SELECT IDENTITY as id ,NAME as text from Supp";
        cmd.Connection = con;

        con.Open();
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        da.Fill(dt);
        System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
        Dictionary<string, object> row;
        foreach (DataRow dr in dt.Rows)
        {
            row = new Dictionary<string, object>();
            foreach (DataColumn dc in dt.Columns)
            {
                row.Add(dc.ColumnName, dr[dc]);
            }
            rows.Add(row);
        }
        return serializer.Serialize(rows);
    }

看起来这个WebMethod没有启动。当我设置调试器时,&#39;进入js代码看起来结果也没有开始。我在#34; console.log(data)&#34;的控制台中什么也没有。

有人可以帮我解决这个问题吗?

0 个答案:

没有答案