ASP.net página sin código detrás


Tengo un ASP.Net página con un código C# detrás.

Sin embargo, se me ha pedido que no use un código detrás, para que sea más fácil implementarlo en SharePoint.

¿ Hay una manera de incluir el código C# en el ASP.Net página, sin utilizar un código separado detrás de archivo?

Author: Sophia, 2009-02-19

6 answers

De forma predeterminada, Sharepoint no permite que el código del lado del servidor se ejecute en archivos ASPX. Vea esto para saber cómo resolver eso.

Sin embargo, me gustaría plantear que tener un código detrás no es necesariamente difícil de implementar en Sharepoint (lo hacemos extensivamente)-simplemente compile sus clases de código detrás en un ensamblado y despliéguelo usando una solución .

Si todavía no, puede incluir todo el código que normalmente colocaría en un código posterior de la siguiente manera:

<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
  //hello, world!
}
</script>
 86
Author: Rex M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-19 01:36:45

En realidad puede tener todo el código en la página aspx. Como se explica aquí.

Muestra de aquí:

<%@ 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>
 19
Author: achinda99,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-20 19:13:57

Hay dos tipos muy diferentes de páginas en SharePoint: Páginas de Aplicación y Páginas de Sitio.

Si va a usar su página como una Página de aplicación, puede usar código en línea o código detrás de su página, ya que las páginas de la aplicación viven en el sistema de archivos.

Si va a ser una página del sitio, puede escribir código en línea de forma segura siempre y cuando lo tenga así en la implementación inicial. Sin embargo, si la página de su sitio se va a personalizar en algún momento en el futuro, el el código en línea ya no funcionará porque las páginas del sitio personalizadas viven en la base de datos y se ejecutan en asp.net 's" no compile " mode.

La conclusión es que puede escribir páginas aspx con código en línea. El único problema es con páginas web personalizadas... que ya no se preocupará por su código en línea.

 7
Author: Tudor Olariu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-19 15:47:41

Sí En su página aspx incluya una etiqueta de script con runat = server

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

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

También puedes usar sintaxis ASP clásica

<% if (this.MyTextBox.Visible) { %>
<span>Only show when myTextBox is visible</span>
<% } %>
 6
Author: bendewey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-19 01:33:40

Pensé que podría desplegar sólo su.aspx página sin el .aspx.cs siempre y cuando el DLL estuviera en tu papelera. Parte del problema aquí es cómo funciona visual studio. net .aspx pages.

Échale un vistazo aquí: Trabajar con Páginas de Formularios Web de un solo archivo en Visual Studio. NET

Sé con certeza que VS2008 con asp.net MVC RC no tiene archivos detrás del código para sus vistas.

 3
Author: IEnumerator,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-19 01:44:57

Archivo: 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
 2
Author: access_granted,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-20 18:45:58