2012-07-06 65 views
0

我正在创建一些用户控件,它们将继承自我的类BaseControl,它从UserControl继承。 BaseControl将包含一些我需要的“东西”。其中之一是名为ControlValue的字符串属性。我需要一种方法来访问来自JavaScript的。我一直在阅读关于RegisterExpandoAttribute()的一些内容,但我不知道如何让它工作,或者我应该把它放在什么地方,因为属性可以随时更改值。我宁愿避免隐藏的领域。如何通过客户端获取用户控件属性?

任何帮助,将不胜感激。

回答

1

做到这一点的最好方法取决于很多事情。就像您的自定义控件创建的HTML类型一样。

但是,最一般的方式(在所有情况下都能工作的方式)是注册一些设置全局值的javascript。

像这样的东西应该工作:

// Get a ClientScriptManager reference from the Page class. 
ClientScriptManager cs = Page.ClientScript; 

cs.RegisterStartupScript(this.GetType(), "setupglobal", 
    "<script type=text/javascript>var hiImAGlobal = 'sam'; </script>"); 

请记住,我不是说这是最好的方式,只是一种方法,将工作。

下面是MSDN文档: http://msdn.microsoft.com/en-us/library/asz8zsxy

+0

如果用户后,我设置,我只是做同样的事情,它会覆盖全球变化的价值? – Yatrix 2012-07-09 15:09:24

+0

@Yatrix - 我不确定。也许你正在让客户端和服务器感到困惑? – Hogan 2012-07-09 21:55:00

+0

你说你正在设置一个JavaScript全球化,对吧?我在问题中提到答案可能会改变,所以我想知道如果它已经设置,我可以再次设置它。如果我没有JavaScript,那么它就是客户端 - 我认为很简单。 – Yatrix 2012-07-10 01:54:26

相关问题