asp.Net実行Response.Write()メソッドを使用すると、ページフォントが大きくなり|cssが無効になります.


ASPを分析してみましょう.NETでResponseを使う.Write()メソッドは,ページフォントが大きくなるという問題に応答する.たとえば,ページ内にLinkButtonがあり,クリックすると新しいウィンドウが開き,新しいウィンドウのURLはユーザの選択結果に応じて動的に生成される.LinkButtonのコードはこう書きます.
    protected void ServiceManHistoryButton_Click(object sender, EventArgs e)
    {
        Response.Write("<script>window.open('EquipmentHistory.aspx?eid=" + ServiceManDropDownList.SelectedValue + "');</script>");
     }

実行してみると、新しいウィンドウが開いていますが、元のページのフォントが大きくなっているのがおかしいのではないでしょうか.
原因は直接writeはスクリプトコードを上部に出力し,ドキュメントモデルを混乱させたため,このような結果をもたらした.
このような問題解決方法は2つある.
方法1:Response.Write()文をこれに置き換えます
Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('EquipmentHistory.aspx?eid=" + ServiceManDropDownList.SelectedValue + "');</script>");

この方法は、ページ応答でクライアント・スクリプト・ブロックを発行するために使用されます.前のパラメータは、ページ内のScriptの一意の名前(任意に開始し、重複しないでください)であり、後のパラメータはスクリプトの内容です.
この方法はマイクロソフトの公式推薦の方法であるべきだ.
方法2:元のプログラムのResponse.Write()文の後にもう1つ追加
Response.Write("<script>document.location=document.location;</script>");