2013-02-14 2 views
0

У меня есть раскрывающийся список, панель1, панель2 и кнопка на моей странице.
Внутри Panel1 есть gridview1 и точно так же в panel2 мы имеем gridview2Ошибка Javascript: объект Обязательный

Но я получаю сообщение об ошибке в JavaScript OnLoad, говоря "Объект не требуется" в указанной ниже линии
если (ParseInt ($ ('# <% = gvSelectedInstitutelist.ClientID%> ') длина) == 0)

ошибка генерируется, когда сетка не data..or длина равна нулю ..
ошибка:. "Объект Ожидаемое"

+1

Вы уверены, что это сетка, которая недоступна, а не один из детей? Разделите строку на отдельные части и сделайте «предупреждение» или проверьте отдельные части через FireBug или F12 в IE/Chrome. – freefaller

ответ

0

Поместите javascript в свой html файл. После этого используйте jQuery, если это возможно.

/edit: Я начал проект webforms, чтобы проверить это: Содержание - это одна панель asp: panel, содержащая один элемент GridView. Я создал один набор данных с одной строкой фиктивных данных и вставил скрипт чуть ниже кода aspx.

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent"> 
<asp:Panel ID="Panel1" runat="server"> 
    <asp:GridView ID="GridView1" runat="server"> 
    </asp:GridView> 
</asp:Panel> 
<script type = "text/javascript"> 
    $(document).ready(function() { 
     if ($('#<%= GridView1.ClientID %>').length == 0) { 
      $('#<%= Panel1.ClientID %>').hide(); 
      console.log("Length == 0"); 
     } 
    }); 

Код позади:

protected void Page_Load(object sender, EventArgs e) 
    { 
     DataSet ds = new DataSet(); 

     DataTable dt = new DataTable(); 
     dt.Columns.Add("Name"); 
     dt.Columns.Add("Branch"); 
     dt.Columns.Add("Officer"); 
     dt.Columns.Add("CustAcct"); 
     dt.Columns.Add("Grade"); 
     dt.Columns.Add("Rate"); 
     dt.Columns.Add("OrigBal"); 
     dt.Columns.Add("BookBal"); 
     dt.Columns.Add("Available"); 
     dt.Columns.Add("Effective"); 
     dt.Columns.Add("Maturity"); 
     dt.Columns.Add("Collateral"); 
     dt.Columns.Add("LoanSource"); 
     dt.Columns.Add("RBCCode"); 

     dt.Rows.Add(new object[] { "James Bond, LLC", 120, "Garrison Neely", "123 3428749020", 35, "6.000", "$24,590", "$13,432", 
     "$12,659", "12/13/21", "1/30/27", 55, "ILS", "R"}); 

     ds.Tables.Add(dt); 

     GridView1.DataSource = ds; 
     GridView1.DataBind(); 
    } 

Это полностью работает для меня. Если dummydata закомментирован в коде позади, я получаю Length < 2. Если я использую фиктивные данные, возвращаемое значение в консоли равно Length> 2.

, пожалуйста, напишите здесь весь код aspx + js.

+0

привет спасибо 4 ответ, я использовал метод ур, но я все равно получаю ту же самую ошибку. – user1274646

+0

Я отредактировал свой ответ – Marco

+0

Я получаю требуемую ошибку Object, когда длина <2 в противном случае работает правильно. – user1274646

Смежные вопросы