このマークアップは、私が作業しているページのモバイル版ではレンダリングされないコードをサポートしています。C#でディレクティブを表現して条件付きにする方法
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
<%@ Register Src="Cart.ascx" TagName="Cart" TagPrefix="uc1" %>
<%@ Register Src="Search.ascx" TagName="Search" TagPrefix="uc5" %>
<%@ Register Src="Credits.ascx" TagName="Credits" TagPrefix="uc6" %>
<%@ Register Src="Menu.ascx" TagName="Menu" TagPrefix="uc3" %>
<%@ Register Src="taskspanel.ascx" TagName="TasksPanel" TagPrefix="uc6" %>
驚くほど多くの不要なスクリプトが読み込まれます。これは悪いです。
これらの登録を条件付きにするためのマークアップがある場合は、ドキュメントを参照してください。さもなければ、私の現在の考えは、マークアップに相当する明示的なコードを使用し、それを条件付きにすることです。
私はScriptManagerをthis rather old resourceから発見しましたが、上記のマークアップはjsファイルを明示的に参照していないため、2つの方法をマップする方法はわかりません。誰も助言することはできますか?
<%@ Page Language="C#" AutoEventWireup="false" EnableViewStateMac="false" CodeBehind="Forms.aspx.cs" Inherits="ASSAOHS.forms" %>
<%@ if (!Mobile) { %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
<%@ Register Src="Cart.ascx" TagName="Cart" TagPrefix="uc1" %>
<%@ Register Src="Search.ascx" TagName="Search" TagPrefix="uc5" %>
<%@ Register Src="Credits.ascx" TagName="Credits" TagPrefix="uc6" %>
<%@ Register Src="Menu.ascx" TagName="Menu" TagPrefix="uc3" %>
<%@ Register Src="taskspanel.ascx" TagName="TasksPanel" TagPrefix="uc6" %>
<%@ } %>
が、これはこの
ようにそれを書くParser Error Message: The server block is not well formed.
を生成します。私はすでに適所に便利Page.Mobile、Boolean型のプロパティを参照するために私のページを修正下回っsuperjosの応答を使用しようとすると、
<%@ Page Language="C#" AutoEventWireup="false" EnableViewStateMac="false" CodeBehind="Forms.aspx.cs" Inherits="ASSAOHS.forms" %>
@if (!Mobile) {
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %>
<%@ Register Src="Cart.ascx" TagName="Cart" TagPrefix="uc1" %>
...
}
エラーは発生しませんが処理されません。 ifステートメントと中括弧は単にブラウザを通過してテキストとしてレンダリングされます。
これは、オプション2で私を戻して、ScriptManagerを使用して指示を明示的なコードにマップしてものを登録します。何かお手数ですか?しかし、その参照がコードとしてこれらの制御指令を表現する方法には役立ちません手助けしようとしているため、ペドロへ
感謝。
ディレクティブが含まれていない別のページにリダイレクトするオプション3を使用する必要があるようです。
[this](https://stackoverflow.com/a/4405257/4014832)コードビハインドアプローチを試すことができます。 –