Domanda

Ho una pagina ASP.Net con un codice C # dietro.

Tuttavia, mi è stato chiesto di non utilizzare un codice dietro - in modo che sarà più facile da implementare in SharePoint.

C'è un modo per includere il codice C # nella pagina ASP.Net, senza utilizzare un codice separato dietro file di?

È stato utile?

Soluzione

Per impostazione predefinita Sharepoint non consente codice lato server che deve essere eseguito in file ASPX. Vedere questo come risolvere questo.

Tuttavia, vorrei sollevare che avere un code-behind non è necessariamente difficile da implementare in Sharepoint (lo facciamo ampiamente) - basta compilare le classi code-behind in un assembly e distribuirlo con un soluzione

Se ancora no, è possibile includere tutto il codice che normalmente si svolge in un codebehind in questo modo:

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

Altri suggerimenti

Si può effettivamente avere tutto il codice nella pagina aspx. Come spiegato qui .

qui :

<%@ 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>

Sì nella pagina aspx includere un tag script con runat = server

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

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

È inoltre possibile utilizzare classica sintassi ASP

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

Ci sono due tipi molto diversi di pagine in SharePoint:. Applicazione pagine e pagine del sito

Se avete intenzione di utilizzare la pagina come una pagina di applicazione, si può tranquillamente utilizzare il codice o codice inline indietro nella vostra pagina, come pagine di applicazione diretta sul file system.

Se si sta andando ad essere una pagina del sito, si può tranquillamente scrivere codice inline finché si dispone in quel modo nella distribuzione iniziale. Tuttavia, se la tua pagina sito sta per essere personalizzato ad un certo punto, in futuro, il codice inline non funzionerà più, perché le pagine del sito personalizzate vivono nella banca dati e vengono eseguiti in asp.net della modalità "no compilazione".

Linea di fondo è - è possibile scrivere pagine aspx con codice inline. L'unico problema è con le pagine del sito personalizzate ... che non sarà più cura per il vostro codice inline.

Ho pensato che si potrebbe distribuire solo la tua pagina aspx senza le .aspx.cs finché la DLL era nel bidone. Parte del problema qui è come Visual Studio .NET funziona con le pagine aspx.

Check it out qui: Lavorare con file singolo Web Form Pagine in Visual Studio .NET

Lo so per certo che VS2008 con asp.net MVC RC non si dispone di file code-behind per i vostri punti di vista.

File: 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top