【发布时间】:2026-01-18 12:50:01
【问题描述】:
我正在尝试向控件添加一个 CSS 类,以便在呈现页面后获得焦点。虽然 Page 类的 SetFocus() 方法可以让我设置 Control,但没有对应的 GetFocus() 方法。
根据.Net 来源,信息存储在Page 类的私有成员_focusedControl 中。属性 FocusedControl 标记为内部。
有没有办法通过反射来获取私有成员或内部属性的值?
任何帮助将不胜感激。
说明: 这就是我要添加 CssClass 服务器端的原因:我正在尝试应用以下内容 jQuery 脚本,改变焦点元素的背景:
$(document).ready(function() {
var elements = jQuery("textarea, select, multi-select, :text, :password, :file");
elements.bind
(
'focus',
function() {
jQuery(this).addClass('highlightinput');
}
);
elements.bind
(
'blur',
function() {
jQuery(this).removeClass('highlightinput');
}
);
})
只要我没有在我的 aspx.vb 中专门设置焦点控件,它就可以正常工作。如果我确实设置了一个焦点控件(我认为是由于时间问题),焦点是在我的处理程序附加到输入字段之前设置的,因此输入不会突出显示。所以我的方法是在呈现页面之前将 highlightinput 类添加到焦点控件。
【问题讨论】:
标签: asp.net jquery vb.net reflection