【发布时间】:2013-04-23 21:22:39
【问题描述】:
在 ASPxPageControl 中,我添加了一些动态创建的标签和文本框。最初,文本框的 Text 属性为空,直到最终用户根据必要的信息填写文本框。
下一步是按下保存按钮,当发生这种情况时,在 button_ClickEvent 函数中,我正确获取了所有控件,但即使用户填写了文本框,文本属性也始终为空
我的代码中是否缺少某些内容?
这是我的代码:
PropertyInfo cntrlProperty;
foreach (System.Web.UI.Control cntrl in pControl.TabPages[1].Controls)
{
Type ControlType = testAssembly.GetType(typeof(ASPxTextBox));
if (!cntrl.GetType().Equals(typeof(ASPxLabel)) && cntrl.GetType().Equals(ControlType))
{
cntrlProperty = cntrl.GetType().GetProperty("Text");
var value = cntrlProperty.GetValue(cntrl);
VALUES += String.Format("'{0}'" + ",", value);
}
}
我还尝试在动态创建我的控件时设置一个默认字符串,这很好,因为这个默认字符串在呈现控件时位于文本框中。
假设默认字符串 = "just a string";
到此为止,我的代码中的变量 value = just a string 这没关系。
然后我所做的是在运行时将一些文本附加(我在“文本框中”输入)到“默认字符串” 现在默认字符串看起来像
default string = "只是文本框中的一个字符串"
然后我按下保存按钮,结果发现变量 value 它仍然存储 value = just a string
知道为什么会这样吗?
【问题讨论】:
-
你在哪里把值“只是一个字符串”放到你的文本框中?
-
在页面的page_load中,但这段代码只是当我动态创建控件时(我认为你不需要它),同时你只需将Text属性设置为=“只是一个字符串”。
标签: c# reflection textbox devexpress dynamic-controls