none
請問 Web Application 專案可以新增不是 Code Behind 的頁面嗎? RRS feed

  • 問題

  • 大家好,

    請問一個問題
    在 VS2010 的 Web Application 專案中,
    可以由 Visual Studio 中直接新增不使用 code-behind 的頁面嗎?

    發覺一個網站由 Web Site 轉換成 Web Application 之後, 有些頁面它還是會維持原來的 single-file 模式
    但是在新增檔案時, 原來設定 code-behind 的選項沒有了,
    是不是 Web Application 專案中,只能新增 code-behind 的頁面?

    2014年8月19日 上午 11:44

解答

  • 其實還是可以,不過因為 Web Forms 都是固定的檔案範本,所以要宣告無 code-behind 的 aspx,只能由 HTML 來建,將檔案副檔名改成 .aspx,加入 Page 的宣告,再加入 C# 的指令碼。

    不過既然都用 Web Application 了,就不要再去想用無 Code-Behind 程式碼的 Web Form 了。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 vitoshao 2014年8月19日 下午 02:34
    2014年8月19日 下午 02:10
    版主

所有回覆

  • 其實還是可以,不過因為 Web Forms 都是固定的檔案範本,所以要宣告無 code-behind 的 aspx,只能由 HTML 來建,將檔案副檔名改成 .aspx,加入 Page 的宣告,再加入 C# 的指令碼。

    不過既然都用 Web Application 了,就不要再去想用無 Code-Behind 程式碼的 Web Form 了。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 vitoshao 2014年8月19日 下午 02:34
    2014年8月19日 下午 02:10
    版主
  • VS 2013的專案,加入Web Form時,的確沒有以前的選項 (是否做Code Behind?)

    但自己加入一個Web From測試一下,答案就出來了

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication_SignalR_CS.WebForm1" %>

    斜體字刪除即可,如下 --

    <%@ Page Language="C#" AutoEventWireup="true"  %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>


    我的書 與 ASP.NET教學網站 http://www.dotblogs.com.tw/mis2000lab/

    2014年9月9日 上午 07:14
  • 感謝以上前輩的回覆

    當我將 web-site 轉換成 web-application 時,我有發覺在新專案中,原先專案中的文件,仍然是使用 single-file 模式,只是若我要新增新的文件時,就沒辦法直接加入 single-file 模式的檔案。我當時就有想過,既然 single-file 可以運作,那就加入 txt 檔,再變更附檔名試試看,果然也可以。

    為什麼我想使用 single-file 是因為,這個專案包含大量的文件,而這些文件都是用 master page 做版面配置,而我要新增的網頁,也都是同類型的文件,完全沒有程式碼(有的話也都在 master page 裡),只有 html 格式的內容,和固定的 javascript code。雖然直接使用 html 檔案也可以,但還要自行 include 一些東西或加入版面配置的 html 碼,就有點麻煩。所以,使用 single-file 模式的 web-form +  master page 是最方便的,只要把內容打在 ContentPlaceHolder 中即可,其它就什麼都不用管了。

    只是,不曉得,為什麼不能在 web-application 專案中直接加入 single-file 模式的 asp.net 網頁,原以為有什麼 option 可以設定,所以問一下前輩的意見。

    後來我把整個系統分成二個專案,關於系統架構部份,就用 web-application  專案,方便佈署(基本上也不常變動),
    而內容部份則使用 web-site 專案,獨立出來,方便新增修改。


    • 已編輯 vitoshao 2014年9月9日 上午 08:32
    2014年9月9日 上午 08:30