4

我想将一些字段(例如名称信息)传递到表单中。我可能不是这个表单的开发者,所以我不确定页面加载或查询字符串是如何处理的。

通过环顾四周,您可以通过某些 Web 表单的name属性调用文本字段,并自动设置这些字段。例如,SO 就是这样做的。如果您访问https://stackoverflow.com/questions/ask?title=THISISMYTITLE,第一个字段(标题字段)将填写 THISISMYTITLE。

另一个很好的例子是 redmine。在这种情况下,我可以通过查询字符串将任何一个字段(甚至是自定义字段)设置为值。

最后,有像 1Password 这样的工具可以在 Mac 和 Windows 上执行类似的操作——它将密码存储在本地数据库中。您可以让它启动您的浏览器,然后放入内容中。

出于某种原因,当我尝试将这样的查询字符串传递给我开发的一些 asp.net Web 应用程序时,页面加载方法似乎通过了它们。它知道它们在那里(我可以在 Request.QueryString 对象中看到它们),但它不会填写这些字段。

有没有一种可靠的方法可以做到这一点,而不必要求开发人员更新代码?为什么有些网页允许这样做,而有些则不允许?它似乎也与浏览器无关 - IE 和 Chrome 的行为方式相同。

注意- 这是给我的,通过使用查询字符串或类似的东西将字段传递到任何网页。这不适用于访问网页本身的字段。

4

1 回答 1

3

这不会自动发生,您必须在表单中显式设置值以读取QueryString. 如果 SO 和其他网站似乎这样做是因为他们的代码正在 URL 中查找这些参数并在表单中填充适当的元素。

就像是:

txtTitle.Text = Request.QueryString["Title"];

等等...

于 2012-08-20T20:22:33.770 回答