我在 InfoEdition.aspx :
中有此代码<%@ Page Title="" Language="C#" MasterPageFile="~/Espace_Candidat/SousCandidat.master" AutoEventWireup="true" CodeFile="InfoEdition.aspx.cs" Inherits="Espace_Candidat_InfoEdition" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ChildContent2" Runat="Server">
<div class="span9">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</asp:Content>
当我尝试访问文本框时,在 InfoEdition.aspx.cs 背后的代码中:
public partial class Espace_Candidat_InfoEdition : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// THE TEXTBOX IS NOT FOUND
TextBox1.
}
}
找不到文本框!!!
答案 0 :(得分:1)
在声明中将CodeFile
更改为Codebehind
。
<强>已更新强> 检查InfoEdition.aspx页面的“Build Action”属性设置为?它应设置为“内容”。
答案 1 :(得分:1)
我认为您应该使用var txt1 = Content1.FindControl("TextBox1")
,然后如果txt1
不为空,请使用它,因为您通常使用TextBox1
?
var txt1 = Content1.FindControl("TextBox1");
txt1.Text = "some value";
答案 2 :(得分:0)
我的回答有点晚了,但是您可以做的一件事就是检查设计器文件是否在ASPX页面所在的文件夹中。
如果缺少设计器文件,则后台代码无法找到您的字段。
为了重新创建设计器字段,您需要使用来重新构建它。 VS2019 项目->转换为Web应用程序菜单选项