我一直在玩弄自己的WebControls,并试图在不使用MS AJAX的情况下添加一些AJAX功能。我不确定将JS对象从WebControl传递到页面脚本的最佳方式。WebControl在<script>标签中创建JS对象,如何在页面的JS中获取对象?
我用Page.ClientScript.RegisterClientScriptResource
让我控制的JS浏览器,和我通过像这样的服务器代码实例化JS(RenderEndTag写出一个<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作为键的全局数组是否工作?基于
您是否试图从拥有您的SearchBox控件的页面访问SearchBox? – 2013-03-08 02:49:22
是的;我在.aspx中创建控件,这会导致内联脚本块被写出;现在我需要访问js对象来添加处理程序,而不是。 – Turch 2013-03-08 19:04:23
全局数组可以工作。我可能宁愿最终从父页面处理函数中抓取DOM中的对象 – 2013-03-08 19:07:38