Подтвердить что ты не робот

Страница ASP.net без кода

У меня есть страница ASP.Net с кодом С#.

Однако меня попросили не использовать код позади - так что его проще будет развертывать в SharePoint.

Есть ли способ включить код С# на страницу ASP.Net, не используя отдельный код за файлом?

4b9b3361

Ответ 1

По умолчанию Sharepoint не разрешает выполнять серверный код в файлах ASPX. Обратитесь к этому вопросу за тем, как это разрешить.

Тем не менее, я бы поставил вопрос о том, что с помощью кода не обязательно сложно развертывать в Sharepoint (мы делаем это экстенсивно) - просто скомпилируйте свои классы кода в сборку и разверните его с помощью .

Если все еще нет, вы можете включить весь код, который вы обычно размещаете в кодебе, например:

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

Ответ 2

Фактически вы можете иметь весь код на странице aspx. Как объяснено здесь.

Образец здесь:

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

Ответ 3

В SharePoint есть два очень разных типа страниц: страницы приложений и страницы сайта.

Если вы собираетесь использовать свою страницу в качестве страницы приложения, вы можете безопасно использовать встроенный код или код на своей странице, так как страницы приложений живут в файловой системе.

Если это будет страница сайта, вы можете безопасно записывать встроенный код, если у вас есть это в первоначальном развертывании. Однако, если ваша страница сайта будет настроена в какой-то момент в будущем, встроенный код больше не будет работать, потому что настроенные страницы сайта живут в базе данных и выполняются в режиме asp.net без компиляции.

Нижняя строка - вы можете написать страницы aspx со встроенным кодом. Единственная проблема связана с настраиваемыми страницами сайта... которые больше не будут заботиться о вашем встроенном коде.

Ответ 4

да на вашей странице aspx есть тег script с runat = server

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

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

Вы также можете использовать классический синтаксис ASP

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

Ответ 5

Я думал, что вы можете развернуть только свою страницу .aspx без .aspx.cs, пока DLL находится в вашем ящике. Часть проблемы здесь заключается в том, как visual studio.net работает с страницами .aspx.

Проверьте здесь: Работа с страницами однофайловых веб-форм в Visual Studio.NET

Я точно знаю, что VS2008 с asp.net MVC RC у вас нет файлов кода для ваших просмотров.

Ответ 6

Файл: 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