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 なしで作成されたページ) では正常に機能します。しかし、マスターページで作成されたページを使用すると機能しません。
これを解決するには?ありがとうございました。