【发布时间】:2017-03-22 06:06:46
【问题描述】:
我无法从 ASP.NET 中的代码访问 div 元素:
在我的 aspx 文件中:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ContactForm.aspx.cs" Inherits="Form_Mailer_ContactForm" %>
...
<div runat="server" id="SentFormDiv">
<s>my content</s>
</div>
在对应的.cs文件内(ContactForm.aspx):
protected void Page_Load(object sender, EventArgs e)
{
this.SentFormDiv.Visible=false;
}
我收到通常的编译错误消息:
不包含“SentFormDiv”的定义并且没有扩展名 方法“SentFormDiv”接受类型的第一个参数 可以找到“xxx.SentFormDiv”(您是否缺少 using 指令或 程序集参考?)
奇怪的是我开始在后面的代码中输入SentFor,Intellisense 确实建议我SentFormDiv!!
我错过了什么?
【问题讨论】:
-
尝试给它一个名称属性。
-
@PauloJunior 这与它无关。
-
我猜你的
Div在另一个控件中,如果是这样,你需要使用FindControl。像这样stackoverflow.com/a/40025036/2946329 -
@ S.Akbari :是个好主意,但这不是我的问题。我的 div 不在 asp 控件中。另外,如果我在 标记之后使用另一个 diff 进行相同的测试,问题仍然存在。
标签: c# html asp.net code-behind