gpt4 book ai didi

c# - 在页面中找到控件

转载 作者:可可西里 更新时间:2023-11-01 08:52:00 24 4
gpt4 key购买 nike

HTML

<body>
<form id="form1" runat="server">
<asp:Button runat="server" ID="a" OnClick="a_Click" Text="apd"/>
</form>
</body>

代码

protected  void a_Click(object sender,EventArgs e)
{
Response.Write(((Button)FindControl("a")).Text);

}

这段代码工作正常。

但是,这段代码:

HTML

 <%@ Page Title="" Language="C#" MasterPageFile="~/Student/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Student_Default" %>


<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Button runat="server" ID="a" OnClick="a_Click" Text="andj"/>
</asp:Content>

代码

protected void a_Click(object sender, EventArgs e)
{
Response.Write(((Button)FindControl("a")).Text);
}

此代码不起作用,FindControl 返回 Null - 这是为什么?

FindControl 方法在简单页面中工作正常,但在母版页中,它就不起作用了吗?

a 的 ID 更改为 ctl00_ContentPlaceHolder1_a - 如何找到控件?

最佳答案

要在您的内容页面上找到按钮,您必须先搜索 ContentPlaceHolder1 控件。然后使用 ContentPlaceHolder1 控件上的 FindControl 函数来搜索您的按钮:

 ContentPlaceHolder cph = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
Response.Write(((Button)cph.FindControl("a")).Text);

关于c# - 在页面中找到控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830198/

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