【问题标题】:Pass GridView id to JavaScript function in asp.net将 GridView id 传递给 asp.net 中的 JavaScript 函数
【发布时间】:2013-07-09 09:40:46
【问题描述】:

我有一个JavaScript 函数,如下所示。

function callServer(gridView) 
{
    // Other Codes  
}

有一个GridView,ID 为PartAvailability_GV。我需要将此 GridView 的 id 传递给我的 JavaScript 函数。我尝试按如下方式进行。

callServer(PartAvailability_GV);

但我收到如下错误。

Uncaught ReferenceError: PartAvailability_GV is not defined

可能是什么问题?我怎样才能做到这一点?

【问题讨论】:

    标签: javascript asp.net gridview


    【解决方案1】:

    我认为您将客户端 JavaScript 与服务器端 ASP.NET 混合在一起 - 所以您需要将 GridView 的客户端 ID 传递给函数:

    callServer('<%= PartAvailability_GV.ClientID %>');
    

    【讨论】:

    • 这行得通。有没有办法将GridView 对象传递给JavaScript 函数?
    • @Bishan 不直接,因为GridView 控件呈现 HTML(通常是表格)并且 JavaScript 引用 HTML DOM。但是,如果您查看serialization,那么它是可能的,请参阅james.newtonking.com/projects/json-net.aspx 以获取 .NET 库。然后,您可以“序列化”一个 .NET 对象并在 JavaScript 中对其进行解析——这可能会变得非常复杂,而且大多数时候您只想序列化数据,或者设置和解析它们而不是整个对象。
    • 感谢您的提示。实际上我需要将数据绑定到WebMethod 文件中的GridView 中的asmx 中。有没有比将GridView 对象传递给它更好的方法?
    • GridView 视为使用您指定的数据呈现 HTML 的服务器。因此,您可以在您的asmx 中覆盖render 方法并通过WebMethod 将所有HTML 退回。但是,我会考虑使用 jQuery 类型的网格,然后将一个序列化的数据表传回给它:stackoverflow.com/questions/5622716/… 这样,你就有了单独的层:客户端有网格,webmethod 只发送原始数据。然后可以将这些数据泵送到不同的目标,这些目标都以他们认为最好的方式进行渲染。
    • 谢谢。我会检查一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2023-04-09
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    相关资源
    最近更新 更多