What's the makeup of a typical rendered(compiled?)
あなたがそれを素早く理解するのを助けるためにあなたに非常に簡単な指示(試みる)を与えるために:
- aspxタグのあるページがあり、asp.netはコードビハインドを実行しており、このタグにデータを入力します。
- コードビハインドのデータが入力された後、asp.netはページ全体を「実行」し
<% %>
、aspxページ内にある場合は、その中に存在する追加コードが実行されます。
これは簡単な例です。
public partial class Dokimes_StackOverFlow_Diafora : System.Web.UI.Page
{
public string cRenderMeAlso = "test";
protected void Page_Load(object sender, EventArgs e)
{
txtText.Text = "One Test";
}
}
<form id="form1" runat="server">
This will fill when the page is prepared
<asp:Literal runat="server" ID="txtText"></asp:Literal>
<br />
This will be render as the page reads out to send it to the browser
as php do
<%=cRenderMeAlso%>
</form>
これで、リテラルコントロールの代わりに、完全なカスタムレンダリングコントロールを使用できます。これは、ページの要素とレンダリングを含む新しい複雑な部分である可能性があります。
各ページ、マスターページ、ユーザーコントロールには、最初にInit()からすべてを渡して準備し、次にLoad()からすべてを渡すのに役立つ呼び出しのサイクルがあり、他のステージでは、それらを並行して初期化する機能を提供します。
現在、PostBackのページにはViewState
、残りの投稿データと一緒に投稿されるいくつかの情報が保持されており、背後のコードはそのすべてのデータを使用してコントロールを埋めます。また、ボタンで初期化したクリックイベントの背後にあるコードで起動し、そこでコードを実行して作業を行うことができます。
I've been asked to remove a link from a Login form
リンクがasp.netが提供する標準のログインフォームにあることが見つからない場合、その解決策は、フォームの完全なテンプレートをレンダリングし、そこから削除することですが、ログインを中断する場合があるためです。フォームは、削除せずに非表示にすることをお勧めします。削除して背後のコードが要求すると、エラーがスローされるためです。つまり、aspの一部である標準のasp.netフォームのログインコードです。ネット。
したがって、この場合は、ログインコントロールをテンプレートとしてレンダリングし(デザインモードから、プロパティで実行します)、検索するリンクを確認し、コードビハインドLink.Visible = false
で作成したリンクを確認し、それを削除して、その上のすべての参照の背後にあるコードを削除します。