gpt4 book ai didi

javascript - WebControl在<script>标签中创建JS对象,如何获取页面JS中的对象?

转载 作者:行者123 更新时间:2023-12-02 18:56:33 25 4
gpt4 key购买 nike

我一直在尝试制作自己的 WebControl,并尝试在不使用 MS AJAX 的情况下添加一些 AJAX 功能。我不确定将 JS 对象从 WebControl 传递到页面脚本的最佳方法。

我使用Page.ClientScript.RegisterClientScriptResource将我的控件的 JS 发送到浏览器,然后我通过服务器代码实例化 JS,如下所示(RenderEndTag 写出一个调用 new 的 <script>):

public class SearchBox : WebControl
{
//...
public override void RenderEndTag(System.Web.UI.HtmlTextWriter writer)
{
//...
writer.Write("<script type=\"text/javascript\">new SearchBox($('#" + this.ClientID + "'));</script>");
}
}

现在我需要在特定页面的 JS 中使用该对象(例如添加 valueChanged 处理程序)。我该怎么办?以控件 ID 作为键的全局数组可以工作吗?

最佳答案

由于您使用的是 jQuery,因此您可以在 SearchBox 的 javascript 构造函数中执行的操作之一如下:

var SearchBox = function($element) {
$element.data("searchBox", this);
}

然后您可以稍后再次从 jQuery 轻松检索此内容:

var sb = $("#myElement").data("searchBox");

关于javascript - WebControl在&lt;script&gt;标签中创建JS对象,如何获取页面JS中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com