2

私はPHP/Rails開発者であり、ASP.NETアプリケーション(およびそのメンテナンス)を継承しています。簡単な質問がいくつかあります。

1.)ASP.NETでレンダリングされた(コンパイルされた)典型的なHTMLページの構成は何ですか。つまり、リクエストが行われると、最初のリクエストからHTMLがブラウザに表示されるまでに何が起こりますか?いくつかのテンプレートが組み合わされて最終的にレンダリングされると想定していますが、より詳細な回答が必要です。

2.)aspxページであるログインフォームからリンクを削除するように求められました。aspxページ自体を見ると、inheritステートメント、codebehindファイルへのリンク、およびその他のリソースへのリンクがあります。ログインページ/テンプレートから実際にリンクを削除する場所はどこですか?リンクが書かれている場所を正確に見つけることができなかったので、リンクを削除したりコメントアウトしたりできます。

ありがとうございました!

4

2 に答える 2

1

つまり、リクエストが行われると、最初のリクエストからHTMLがブラウザに表示されるまでに何が起こりますか?

ASP.Netページのライフサイクルについて学び始めます。

リンクが書かれている場所を正確に見つけることができなかったので、リンクを削除したりコメントアウトしたりできます。

ASP.Netがどのように機能するかを少なくとも十分に理解するまで、私は何もしません。いくつかのチュートリアルを実行するとよいでしょう。ASP.Netには、優れたGetStartedセクションがあります。

于 2012-10-05T17:50:42.480 に答える
0
What's the makeup of a typical rendered(compiled?)

あなたがそれを素早く理解するのを助けるためにあなたに非常に簡単な指示(試みる)を与えるために:

  1. aspxタグのあるページがあり、asp.netはコードビハインドを実行しており、このタグにデータを入力します。
  2. コードビハインドのデータが入力された後、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で作成したリンクを確認し、それを削除して、その上のすべての参照の背後にあるコードを削除します。

于 2012-10-05T18:05:41.177 に答える