【问题标题】:VB.NET how to find id from placeholderVB.NET 如何从占位符中查找 id
【发布时间】:2013-02-28 05:42:36
【问题描述】:
<input name="ctl00$ContentPlaceHolder1$txtUsername" type="text" id="ctl00_ContentPlaceHolder1_txtUsername" style="width:95%;" class="TextBoxWatermark" autocomplete="off">

^^^^^^ html代码

我使用 ctl00_ContentPlaceHolder1_txtUsername 作为 id 元素但没有找到!

什么是id元素???

【问题讨论】:

  • 在服务器端还是在客户端?您在哪里以及如何尝试找到控件?
  • 你是如何使用它的?你能发布更多代码吗?
  • 你试过var contentPlaceholderId = '&lt;%= Me.ContentPlaceholder1.ClientId %&gt;'吗?
  • @TimSchmelter 在客户端我尝试按 id 点击元素。
  • @codingbiz 我用于按 id 点击元素,但我没有找到。

标签: vb.net placeholder


【解决方案1】:

如果您使用的是母版页,您可以像这样访问它:

Dim MainContent as ContentPlaceHolder = CType( Page.Master.FindControl("MainContent"), ContentPlaceHolder)
 Dim myTextbox as Textbox = Ctype(MainContent.FindControl("txtUsername"),Textbox)

【讨论】:

  • 如果我不是管理员,我可以评估它吗??
  • 这将是在页面的代码隐藏中访问它的一种方式。您尝试从哪里访问 ID?
  • 我是客户,我尝试使用 id 自动点击,但找不到此 id。
  • 好的,是的,那么我所说的不会有太大帮助,因为您没有尝试通过代码访问控件。
  • 如何解决?,我想从占位符中获取元素 id
【解决方案2】:

您是否尝试过“focus()”命令?你只是想让它成为选定的字段吗?

document.getElementById("ctl00_ContentPlaceHolder1_txtUsername").focus();

希望有帮助!

【讨论】:

  • 在客户端:“ctl00_ContentPlaceHolder1_txtUsername”是您的元素 ID。在服务器端:“txtUsername”是你的 id。
  • 我试过 ctl00_ContentPlaceHolder1_txtUsername 是客户端的 id 但没有找到这个 id ps。我在 .aspx 中尝试过不工作,但我在 .html 中尝试过,.php 是工作
  • 也许 TextBoxWatermark 类有干扰。尝试删除它进行测试? Ajax 工具包有时会出现奇怪的行为。
【解决方案3】:

试试这些

  1. 您可以检查元素(例如在 chrome 中)以了解生成的 id

  2. var elem = document.getElementById('&lt;%= ContentPlaceHolder1.FindControl("txtUsername").ClientID %&gt;');

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多