0

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 ページ ( masterpage なしで作成されたページ) では正常に機能します。しかし、マスターページで作成されたページを使用すると機能しません。

これを解決するには?ありがとうございました。

4

1 に答える 1

0

マスター ページは aspx ページと同じディレクトリにありますか? すべてのjsファイルが正しくロードされていることを確認しましたか? asp.netマークアップで質問を更新してください

于 2013-06-03T09:00:55.457 に答える