2016-11-08 45 views
0

我不設法從背後代碼中訪問一個div元素在ASP.NET:我無法從代碼訪問我的事業部背後

在我的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 !!

我錯過了什麼?

+0

嘗試給它一個名稱屬性。 –

+0

@PauloJunior這與它無關。 – mason

+0

我想你的'Div'是在另一個控件中,如果是的話,你需要使用'FindControl'。像這樣http://stackoverflow.com/a/40025036/2946329 –

回答

1

請參考SO問題尋求幫助。沒有看到你的完整代碼,沒有辦法給你一個明確的答案。此外,順便說一句,this.SentFormDiv可以簡化爲SentFormDiv

+0

Yeaaah! :) 來自這篇文章的建議之一提出了這個訣竅。 這不是主要的答案,但這一個: 問題是你可能有多個aspx文件與頁面指令中的代碼文件指向相同的代碼隱藏文件。它期望所有的aspx文件中都存在相同的控件,這些文件鏈接到相同的代碼後面,從而引發編譯錯誤。 Thx a ton Ethilium! –

+0

很高興幫助A.D.我自己也碰到過這個問題(因爲我相信很多人都有這個問題)。 – Ethilium