Jquery自动填充文本框不适用于主页

时间:2013-06-02 12:16:55

标签: asp.net master-pages jquery-autocomplete

我正在尝试在asp.net中实现自动完成文本框。

在aspx.cs页面中,我有BindName用于从数据库中获取数据

private string BindName()
{
    DataTable dt = null;
    using (conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SEP_Project_NewConnectionString2"].ConnectionString))
    {
        using (SqlCommand cmd = conn.CreateCommand())
        {
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "select subjectName from course";
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                dt = new DataTable();
                da.Fill(dt);
            }
        }
    }

    StringBuilder output = new StringBuilder();
    output.Append("[");
    for (int i = 0; i < dt.Rows.Count; ++i)
    {
        output.Append("\"" + dt.Rows[i]["subjectName"].ToString() + "\"");

        if (i != (dt.Rows.Count - 1))
        {
            output.Append(",");
        }
    }
    output.Append("];");
    return output.ToString();
}

我在page_load中调用此方法,
        public string listFilter = BindName();

然后在aspx页面中,

<script type="text/javascript" language="javascript">
function LoadList()
{        
    var ds=null;
    ds = <%=listFilter%>;

    $( "#txtCourse" ).autocomplete({
        source: ds
    });
}

window.onload = function () { LoadList();}
</script>  

这适用于普通的aspx页面(没有母版页创建的页面)。 但是当我使用通过母版页创建的页面时,它不起作用。

如何解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:0)

是你的aspx页面在同一目录下的主页吗?你检查过所有js文件都正确加载了吗?并请用您的asp.net标记更新您的问题