wake-up-neo.com

ASP.net-Seite ohne Code dahinter

Ich habe eine ASP.Net-Seite mit einem C # -Code dahinter.

Ich wurde jedoch gebeten, keinen Code dahinter zu verwenden, damit die Bereitstellung in SharePoint einfacher wird.

Gibt es eine Möglichkeit, den C # -Code in die ASP.Net-Seite aufzunehmen, ohne einen separaten Code hinter der Datei zu verwenden?

61
Sophia

Standardmäßig lässt Sharepoint nicht zu, dass serverseitiger Code in ASPX-Dateien ausgeführt wird. Siehe dies wie man das löst.

Ich möchte jedoch darauf hinweisen, dass es nicht unbedingt schwierig ist, einen Code-Behind in Sharepoint bereitzustellen (wir tun dies ausführlich). Kompilieren Sie einfach Ihre Code-Behind-Klassen in eine Assembly und stellen Sie sie mit einem solution bereit.

Wenn dies immer noch nicht der Fall ist, können Sie den gesamten Code, den Sie normalerweise in einem Codebehind platzieren würden, wie folgt einfügen:

<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
  //hello, world!
}
</script>
92
Rex M

Sie können tatsächlich den gesamten Code in der ASPX-Seite haben. Wie erklärt hier .

Probe von hier :

<%@ Language=C# %>
<HTML>
   <script runat="server" language="C#">
   void MyButton_OnClick(Object sender, EventArgs e)
   {
      MyLabel.Text = MyTextbox.Text.ToString();
   }
   </script>
   <body>
      <form id="MyForm" runat="server">
         <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
         <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
         <asp:label id="MyLabel" runat="server"></asp:label>
      </form>
   </body>
</HTML>
21
achinda99

yes Fügen Sie auf Ihrer ASPX-Seite ein Skript-Tag mit runat = server hinzu

<script language="c#" runat="server">

public void Page_Load(object sender, EventArgs e)
{
  // some load code
}
</script>

Sie können auch die klassische ASP Syntax verwenden

<% if (this.MyTextBox.Visible) { %>
<span>Only show when myTextBox is visible</span>
<% } %>
8
bendewey

In SharePoint gibt es zwei sehr unterschiedliche Seitentypen: Anwendungsseiten und Websiteseiten.

Wenn Sie Ihre Seite als Anwendungsseite verwenden möchten, können Sie Inline-Code oder Code dahinter sicher in Ihrer Seite verwenden, da Anwendungsseiten im Dateisystem aktiv sind.

Wenn es sich um eine Site-Seite handelt, können Sie Inline-Code sicher schreiben, solange Sie ihn bei der Erstbereitstellung so haben. Wenn Ihre Site-Seite jedoch zu einem späteren Zeitpunkt angepasst wird, funktioniert der Inline-Code nicht mehr, da angepasste Site-Seiten in der Datenbank gespeichert sind und im asp.net-Modus "Keine Kompilierung" ausgeführt werden.

Fazit ist - Sie können Aspx-Seiten mit Inline-Code schreiben. Das einzige Problem sind angepasste Site-Seiten, für die Ihr Inline-Code nicht mehr relevant ist.

8
Tudor Olariu

Ich dachte, Sie könnten nur Ihre ASPX-Seite ohne ASPX.CS bereitstellen, solange sich die DLL in Ihrem Bin befindet. Ein Teil des Problems hier ist, wie Visual Studio .NET mit ASPX funktioniert Seiten.

Probieren Sie es hier aus: Arbeiten mit Web Forms-Seiten mit nur einer Datei in Visual Studio .NET

Ich weiß mit Sicherheit, dass VS2008 mit asp.net MVC RC Sie keine Code-Behind-Dateien für Ihre Ansichten haben.

4
IEnumerator

Datei: logdate.aspx

<%@ Page Language="c#" %>
<%@ Import namespace="System.IO"%>
<%

StreamWriter tsw = File.AppendText(@Server.MapPath("./test.txt"));
tsw.WriteLine("--------------------------------");
tsw.WriteLine(DateTime.Now.ToString());

tsw.Close();
%>

Done
3
access_granted