62 votes

Page ASP.net sans code derrière

J'ai une page ASP.Net avec un code C # derrière.

Cependant, on m'a demandé de ne pas utiliser de code "behind" pour qu'il soit plus facile à déployer dans SharePoint.

Est-il possible d'inclure le code C # dans la page ASP.Net sans utiliser de code distinct derrière le fichier?

92voto

Rex M Points 80372

Par défaut, Sharepoint ne permet pas de code côté serveur pour être exécuté dans les fichiers ASPX. Voir ce pour comment résoudre ce problème.

Cependant, je tiens à soulever que le fait d'avoir un code-behind n'est pas nécessairement difficile à déployer dans Sharepoint (nous le faisons beaucoup) - il suffit de compiler votre code-behind de classes dans une assemblée et de le déployer à l'aide d'une solution.

Si toujours pas, vous pouvez inclure tous les code que vous auriez normalement placer dans un code comme ceci:

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

22voto

achinda99 Points 2799

Vous pouvez réellement avoir tout le code dans la page aspx. Comme expliqué ici .

Échantillon d' ici :

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

9voto

bendewey Points 25437

oui sur votre page aspx inclure une balise script avec runat = server

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

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

Vous pouvez également utiliser la syntaxe classique ASP

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

8voto

Tudor Olariu Points 1000

Il existe deux types très différents de pages dans SharePoint: Application des Pages et des Pages du Site.

Si vous allez utiliser votre page est une Page de l'Application, vous pouvez utiliser en toute sécurité inline code ou code-behind dans votre page, les pages de l'Application en direct sur le système de fichiers.

Si ça va être une page d'un Site, vous pouvez sans écrire de code en ligne aussi longtemps que vous avez comme ça dans le déploiement initial. Toutefois, si votre page de site va être personnalisées à un certain moment dans l'avenir, le code en ligne ne fonctionnent plus en raison personnalisé pages du site vivre dans la base de données et sont exécutées dans asp.net "pas de compiler en mode".

Ligne du bas est - vous pouvez écrire des pages aspx avec le code en ligne. Le seul problème, c'est avec des pages du Site... qui ne seront plus soin de votre code en ligne.

4voto

IEnumerator Points 1420

Je pensais que vous ne pouviez déployer que votre page .aspx sans le .aspx.cs tant que la DLL était dans votre bac. Une partie du problème concerne le fonctionnement de Visual Studio .net avec les pages .aspx.

Découvrez-le ici: Utilisation de pages de formulaires Web à fichier unique dans Visual Studio .NET

Je sais avec certitude que VS2008 avec asp.net MVC RC ne contient pas de fichiers code-behind pour vos vues.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X