2011-01-21 44 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用户控件。