2011-01-21 47 views
1

我目前在VS2010中有一個Web應用程序項目。每個控件(在* .ascx文件中)都包含在它自己的單獨文件夾中,以及該控件使用的Web服務(在* .asmx文件中)以及用於操作它的JavaScript對象(在* .js文件中)。因此該項目佈局看起來像:如何組合腳本#和Web控件?

WebApp/ 
    WebControl1/ 
    WebControl1.ascx 
     WebControl1.ascx.cs 
     WebControl1.ascx.designer.cs 
    WebControl1.asmx 
     WebControl1.asmx.cs 
    WebControl1.js 
    WebControl2/ 
    ... 
    Global.asax 
    Default.aspx 
    Default.aspx.cs 
    Default.aspx.designer.cs 
    ... 

該項目正在擴大,我期待升級,並使用腳本#替換.js文件。我想保持這種結構,但據我所知,無法在同一個項目中混合使用Script#和常規C#文件。

我已經看過腳本#站點上的自述文件PDF並下載了PhotoDemo示例,但我找不到任何使用腳本#的邊Web控件的示例。我已經嘗試在項目中添加'腳本支持'模板,然後從腳本#模板列表中添加類和頁面模板,但它們都被視爲常規C#源代碼文件。

我已經使用反射器來查看由Script#安裝的mscorlib,System.Web,ScriptSharp.Web,ScriptSharp.VisualStudio,ScriptSharp和Script.Windows二進制文件,並且無法找到任何會允許這種行爲。

有沒有人執行過類似的事情或有任何進一步的提示?

我目前設法使用Script#的唯一方法是有一個單獨的Script#項目,並將JavaScript文件的輸出放入我的Web應用程序中。它有效,但不夠理想。

感謝您的時間,

回答

0

我最近所採取的暴跌和已停止使用的Web用戶控件幾乎完全。我將我的控件HTML編譯爲Script#輸出,而不是回發,我使用WCF進行Web服務調用。我想你會談及這一點,但在我看來,如果設計和邏輯分爲兩個獨立的項目,那麼嘗試將單個概念單元的設計和邏輯同步就太麻煩了。

我的項目佈局基本上是看現在這個樣子:

WebApp/ 
    Pages/ 
    Home.aspx 
    [etc] 
    Services/ 
    MainService.svc 

ScriptSharp/ 
    UI/ 
    Widget1.html 
    Widget1.html.cs 
    Widget2.html 
    Widget2.html.cs 

我設置我的名「.html」文件,‘編譯’,把他們的內容到腳本#輸出常數欺騙系統。在我的「.html.cs」文件中,除了UI邏輯現在比以前更多地使用jQuery(一件好事)之外,我有你期望的(點擊,更改等事件處理程序)。

如果您有興趣,可以查看我的Sharp UI項目,該項目負責解析html常量,並將每個html片段視爲它(客戶端版本)的Web用戶控件。