0

我的页面上有一个 Dropdown、Panel1、panel2 和一个按钮。
在 Panel1 里面有 gridview1 和在 panel2 中类似我们有 gridview2

但是我在 javascript onload 中得到一个错误,在下面提到的行中说“需要对象”
if (parseInt($('#<%= gvSelectedInstitutelist.ClientID %>').length) == 0)

当网格没有数据时抛出错误..或长度为零..
错误是:“预期对象”

4

1 回答 1

0

将javascript放入您的html文件中。在此之后,如果可能,请使用 jQuery。

/edit:我已经启动了一个 webforms 项目来测试这一点:内容是一个 asp:面板包含一个 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 代码。

于 2013-02-14T08:07:58.347 回答