gpt4 book ai didi

c# - Javascript 无法在 ASP.NET C# 中获取 ElementById

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:52:34 25 4
gpt4 key购买 nike

我知道这是一个很常见的问题。我试图通过 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 按钮前面加上一个命名方案,这样它就可以在回发。因此需要使用 ClientID 属性来检索“呈现的 ID”。

要了解更多信息,请访问:

用 Bing 搜索:

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

关于c# - Javascript 无法在 ASP.NET C# 中获取 ElementById,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com