这是我的第一个问题。我几乎每天都在堆栈溢出,但这是我第一次自己找不到答案,不得不在这里发布。
我正在Ext.Net
动态创建页面(如果重要,在 VB.net 中),基于 XML 配置,具有各种控件和任意数量的控件。因此,对于 XML 中的每个字段,我创建控件并为其分配一个 ID(ID 来自 XML)。我有一个“提交”按钮,单击该按钮后,再次解析 XML,获取每个字段的 ID,并使用Ext.Net.X.GetCmp
. 然后,一旦我有了控制权,我就会得到价值并用它做一些事情。除了 control type 之外,一切都像魅力一样FileUploadField
。据此,由于某种原因,不适GetCmp
用于FileUploadField
.
所以,我的问题是:有什么方法可以FileUploadField
根据它的 ID 获取控件吗?而且,只是想知道,为什么GetCmp
不能使用这种控制?
非常感谢您,并为我的英语不好感到抱歉。
编辑:
好的,我已将我的 Ext.Net 更新到最新版本 (2.2)。现在一切看起来都很奇怪,但没关系,如果它有效。除了外观,我看不出行为有任何变化。GetCmp 仍然给我同样的东西。顺便说一句,即使我没有创建控件,X.GetCmp(Of Ext.Net.FileUploadField)(ControlID) 也会给我一个 FileUploadField,而不是 null。唯一的事情是 hasFile=false 总是,并且文件字节是空的。
编辑2:
我已经运行了你的示例代码,它就像一个魅力。我开始认为“isUpload”是关键。我整天都在谷歌搜索,想看看我在哪里以及为什么要写这个 {isUpload=true},但我没有看到任何有用的东西。你能给我解释一下吗?仅适用于 DirectMethods?是强制性的?非常感谢!
编辑 3:
我现在觉得自己太傻了。有用。刚刚在 JavaScript 的 DirectMethod 调用中添加了一个简单的 isUpload:true 。这么多天来解决这个愚蠢的事情。对于下一个人:检查您的 isUpload ;)。