[英]ASP.net page without a code behind
我有一個后面有C#代碼的ASP.Net頁面。
但是,我被要求不使用代碼 - 因此在SharePoint中部署更容易。
有沒有辦法在ASP.Net頁面中包含C#代碼,而不使用單獨的代碼隱藏文件?
您實際上可以在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>
您的aspx頁面上的是包含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>
<% } %>
SharePoint中有兩種非常不同類型的頁面:應用程序頁面和網站頁面。
如果您要將頁面用作應用程序頁面,則可以安全地在頁面中使用內聯代碼或代碼,因為應用程序頁面位於文件系統上。
如果它將成為“站點”頁面,只要您在初始部署中擁有它,就可以安全地編寫內聯代碼。 但是,如果您的站點頁面將在未來某個時間進行自定義,則內聯代碼將不再有效,因為自定義站點頁面位於數據庫中並在asp.net的“無編譯”模式下執行。
底線是 - 您可以使用內聯代碼編寫aspx頁面。 唯一的問題是自定義網站頁面...它將不再關心您的內聯代碼。
只要DLL在你的bin中,我認為你可以只使用.aspx.cs部署你的.aspx頁面。 這里的部分問題是visual studio .net如何與.aspx頁面一起使用。
在此處查看: 在Visual Studio .NET中使用單文件Web窗體頁面
我確信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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.