Поместите 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.
Вы уверены, что это сетка, которая недоступна, а не один из детей? Разделите строку на отдельные части и сделайте «предупреждение» или проверьте отдельные части через FireBug или F12 в IE/Chrome. – freefaller