微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 从ASP.net中的用户控件访问页面上的文本框

我有一些页面略有不同,但都有相同的“操作按钮”,为每个页面执行相同的任务.而不是重复代码,我做了一个用户控件,包括执行操作的按钮 – 但是有一个我似乎不能做的动作.

每个页面都有一个文本框(不在用户控件内部,因为它位于页面的不同位置).当我点击“保存注释”按钮(在用户控件中)时,我似乎无法访问文本框中的文本.

我试过使用这样的东西:

TextBox txtComments = (TextBox)this.Parent.FindControl("txtComments");
SaveChanges(txtComments.Text);

…但是txtComments返回为空.

所以,我想知道这是否可能,或者如果有更好的方法来做我想要做的事情?

编辑:文本框位于原始页面上的占位符…

编辑2:发布最小化的解决方案 – 仍然无法弄清楚这一点.

编辑3:删除解决方案以节省空间 – 解决问题.

解决方法

我的解决方案最终令人惊讶的简单
TextBox txt = this.Parent.Parent.FindControl("ContentPlaceHolder2").FindControl("TextBox1") as TextBox;
if (txt != null) Label1.Text = txt.Text;

我以前出错我是使用错误的ContentPlaceHolder ID.我正在页面中使用占位符的ID,而不是主页上的ID.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐