我目前在C#WinForms应用程序中使用WebBrowser控件,并尝试控制此控件提供的一些可变性。在C#WebBrowser中使用只读字段
基本上,我的用户登录到我的应用程序提供的单独UI,然后显示WebBrowser控件,导航到预定的登录URL,然后自动填充该页面上的用户名和密码字段。
但是,为了防止此WebBrowser控件中出现不可预知的行为,我想在自动填充这些用户名和密码文本框后将其设置为只读。实质上,我希望用户看到一个已经为他们填写的浏览器页面,并且不能被编辑。 (这是为了让任何验证错误都可以通过我的,而不是浏览器应用程序来处理。)
我目前使用填充文本字段,让他们只读如下代码:
webBrowser1.Document.GetElementById("username").InnerText = username;
webBrowser1.Document.GetElementById("password").InnerText = password;
webBrowser1.Document.GetElementById("username").Enabled = false;
webBrowser1.Document.GetElementById("password").Enabled = false;
不幸的是,当我尝试将字段设置为只读时,认证服务器的行为就像未填写密码字段,并在点击“提交”按钮后提示用户重新填写。这是否是预期的行为,如果是这样,我可以尝试使用其他方法来防止用户更改浏览器自动填充的凭据?
谢谢,这工作!看起来像禁用密码表格灰色,防止文本选择,并防止发布,而将其设置为“只读”允许选择文本,但禁用编辑,同时仍然正确发布。 – sichinumi