Dieses Markup unterstützt Code, der in der mobilen Version der Seite, auf der ich arbeite, nicht gerendert wird.So geben Sie Anweisungen als C# aus, damit sie konditional sein können
<%@ 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" %>
Es ist nicht überraschend, dass viele unnötige Skripts geladen werden. Das ist schlecht.
Wenn es Markup gibt, um diese Registrierungen bedingt zu machen, bitte verweisen Sie mich auf die Dokumentation. Ansonsten ist mein aktueller Gedanke, expliziten Code zu verwenden, der dem Markup entspricht, und ihn so zu konditionieren.
Ich habe ScriptManager von this rather old resource entdeckt, aber das obige Markup referenziert js-Dateien nicht explizit, so dass ich nicht weiß, wie man zwischen den beiden mappt. Kann jemand beraten?
Versuch superjos' Antwort zu verwenden unten ich meine Seite geändert Page.Mobile, eine Boolesche Eigenschaft bequem bereits an seinem Platz zu verweisen:
<%@ 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" %>
<%@ } %>
aber dies erzeugt Parser Error Message: The server block is not well formed.
Schreiben es wie diese
<%@ 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" %>
...
}
erzeugt keinen Fehler, wird aber nicht verarbeitet; Die if-Anweisung und geschweifte Klammern werden einfach übergeben und als Text im Browser gerendert.
Was mich zurück mit Option zwei lässt, ordnen Sie die Anweisungen zu expliziten Code mit ScriptManager, um Zeug zu registrieren. Irgendwelche Abnehmer?
Dank Pedro für den Versuch, aber das Bezug zu helfen, hilft nicht mit, wie diese Steuerrichtlinien als Code zum Ausdruck bringen.
Es sieht so aus, als müsste ich Option drei verwenden, die auf eine andere Seite umleitet, die die Direktiven nicht enthält.
Sie können [this] (https://stackoverflow.com/a/4405257/4014832) Code hinter Ansatz versuchen. –