繁体   English   中英

Javascript无法在ASP.NET C#中获取GetElementById

[英]Javascript Unable to GetElementById in ASP.NET C#

我知道这是一个非常普遍的问题。 我试图获得一个“输入密钥”事件,通过javascript调用页面上某个按钮的点击。 但是,我不能为我的生活从我的asp.net页面中通过其id或名称获取单个元素。

我的理解是,这个问题与javascript所在的位置有关,是否在javascript加载时或者那些性质的东西中呈现了元素?

每次我尝试使用var x = document.getElementById('btn_AddAdmin')我都会得到一个空值。

我的asp.net页面包含它继承的SiteMaster页面。 我已经包含了我的asp.net页面和SiteMaster页面的精简版本。

ASP.NET页面:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" 
     AutoEventWireup="true" CodeBehind="Admin.aspx.cs" Inherits="HERMES.Admin" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<input type="text" id="txt_AddAdmin" runat="server" onkeypress="Populate()" />

母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" 
         Inherits="HERMES.SiteMaster" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
    <title></title>
    <link href="./Styles/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form runat="server">
</form>
</body>

对不起格式化,我似乎做错了什么......

我试图将javascript放在许多不同的位置 - 从站点主页页面到我的asp.net页面的顶部和底部。 无论如何都没有运气。

var x = document.getElementById('<%= btn_AddAdmin.ClientID %>');

如果您的按钮是Server Control它会在input按钮之前添加一个命名方案,以便在postback期间将其绑定回相应的服务器控件。 因此需要使用ClientID属性来检索“呈现的id”。

要了解更多,请访问:

谷歌与Bing:

  • 客户端ID
  • aspnet webforms客户端编程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM