2013-06-02 53 views
0

我想在asp.net中實現自動完成文本框。Jquery自動完成文本框不能使用masterpages

在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)。 但是,當我使用由母版創建的頁面不起作用時。

如何解決這個問題?謝謝。

回答

0

是您的aspx頁面在同一目錄下的主頁面嗎?你檢查過所有的js文件是否正確加載?並請更新您的問題與您的asp.net標記

+0

它正常工作正常的aspx頁面。如果我使用masterpage創建頁面,它無法正常工作。不同之處在於添加了主頁面。這意味着js文件加載正常。 – chathura

+0

只是檢查文件是否正確加載並更新您的標記。這個'#txtCourse'被懷疑了。 –