如何通过客户端上的 JSProperties 访问 DevExpress ASPx 控件
How to access a DevExpress ASPx control via JSProperties on the client
假设我有几个 DevExpress 控件,其中一个是按钮。在该按钮上,我想添加其他每个控件的 ClientInstanceNames,以便我可以在按钮客户端单击事件中访问它们。
C#:
String strID = "MyButton";
ASPxButton btn = new ASPxButton() { ClientInstanceName = strID , Text = "Click Here", Width = new Unit("100%"), AutoPostBack = false, CssFilePath = strCssFilePath, CssPostfix = strCssPostFix };
btn.ClientSideEvents.Click = "btnClick";
btn.JSProperties.Add("cp_MyTxtBx", strID );
我想做类似的事情...
.js:
<script type="text/javascript">
function btnClick(s, e) {
var theTxtBx = document.getElementById(s.cp_MyTxtBx);
theTxtBx.SetText('some text');
}
</script>
但这行不通。我知道我可以这样做:
<script type="text/javascript">
function btnClick(s, e) {
MyTxtBx.SetText('some text');
}
</script>
但是这些控件是动态创建的,直到运行时我才会知道它们的 ClientInstanceNames。
那么,如何根据其 ClientInstanceName 的字符串 JSProperty 获取控件呢?
提前谢谢。
相关帖子,但不是我需要的:
如何从 JavaScript 访问 ASPxTextBox 的值
DevExpress:如何获取控件客户端的实例并访问其客户端成员?
如果我理解正确,这就是你需要的:
var theTxtBx = window[s.cp_MyTxtBx];
每个设置了 ClientInstanceName 的 devex 控件都注册为全局变量。
你可以破解一些东西...
基本上,当您动态创建文本框时,请为其提供唯一的客户端实例名称。
在页面加载结束时,您可以发出一些 javascript 来声明和数组并将元素设置为等于文本框对象。
var ServerSideList = new List<string>();
while(CreatingTextBoxes)
{
...
ServerSideList.Add(uniqueTextboxName);
}
....
var sb = new System.Text.StringBuilder();
sb.AppendLine("var clientSideList = [];");
foreach(var s in ServerSideList)
{
sb.Append("clientSideList.push(");
sb.Append(s);
sb.AppendLine(");");
}
AspLiteralObject.Text = sb.ToString();
在客户端按钮单击事件中,您可以循环访问 clientSideList 数组。
<script type="text/javascript">
function btnClick(s, e) {
var i;
var theTxtBx;
for(i = 0; i < clientSideList.length; i++)
{
theTxtBx = clientSideList[i];
theTxtBx.SetText('some text');
}
}
</script>
相关文章:
- 访问布局信息是否也会导致浏览器重排
- Javascript,访问一个主要对象模块模式中的每个对象
- 如何访问声音管理器2创建的声音对象
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何访问fastOpt.js
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- 难以访问的JS环境中的语法错误
- 如何从对象的原型方法访问JavaScript对象属性
- 访问json数组中的对象
- 通过javascript/html访问twitter共享iframe
- Dojo:访问dijit.form.Select中单击的项目
- 为什么在这个网站上不能通过JS访问元素
- 从ng模板访问作用域
- 如何访问UIWebView'的子窗口上下文
- 如何通过客户端上的 JSProperties 访问 DevExpress ASPx 控件
- 从iframe内访问父DevExpress弹出