У меня есть страница ASP.Net с кодом С#.
Однако меня попросили не использовать код позади - так что его проще будет развертывать в SharePoint.
Есть ли способ включить код С# на страницу ASP.Net, не используя отдельный код за файлом?
У меня есть страница ASP.Net с кодом С#.
Однако меня попросили не использовать код позади - так что его проще будет развертывать в SharePoint.
Есть ли способ включить код С# на страницу ASP.Net, не используя отдельный код за файлом?
По умолчанию Sharepoint не разрешает выполнять серверный код в файлах ASPX. Обратитесь к этому вопросу за тем, как это разрешить.
Тем не менее, я бы поставил вопрос о том, что с помощью кода не обязательно сложно развертывать в Sharepoint (мы делаем это экстенсивно) - просто скомпилируйте свои классы кода в сборку и разверните его с помощью .
Если все еще нет, вы можете включить весь код, который вы обычно размещаете в кодебе, например:
<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
//hello, world!
}
</script>
Фактически вы можете иметь весь код на странице 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>
В SharePoint есть два очень разных типа страниц: страницы приложений и страницы сайта.
Если вы собираетесь использовать свою страницу в качестве страницы приложения, вы можете безопасно использовать встроенный код или код на своей странице, так как страницы приложений живут в файловой системе.
Если это будет страница сайта, вы можете безопасно записывать встроенный код, если у вас есть это в первоначальном развертывании. Однако, если ваша страница сайта будет настроена в какой-то момент в будущем, встроенный код больше не будет работать, потому что настроенные страницы сайта живут в базе данных и выполняются в режиме asp.net без компиляции.
Нижняя строка - вы можете написать страницы aspx со встроенным кодом. Единственная проблема связана с настраиваемыми страницами сайта... которые больше не будут заботиться о вашем встроенном коде.
да на вашей странице 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>
<% } %>
Я думал, что вы можете развернуть только свою страницу .aspx без .aspx.cs, пока DLL находится в вашем ящике. Часть проблемы здесь заключается в том, как visual studio.net работает с страницами .aspx.
Проверьте здесь: Работа с страницами однофайловых веб-форм в Visual Studio.NET
Я точно знаю, что VS2008 с asp.net MVC RC у вас нет файлов кода для ваших просмотров.
Файл: 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