我目前在VS2010中有一个Web应用程序项目。每个控件(在* .ascx文件中)都包含在它自己的单独文件夹中,以及该控件使用的Web服务(在* .asmx文件中)和用于操作它的javascript对象(在* .js文件中)。所以项目布局看起来像:
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
...
项目正在扩展,我正在寻找使用Script#升级和替换.js文件。我想维护这个结构,但据我所知,在同一个项目中没有办法混合Script#和常规C#文件。
我查看了脚本#站点上的自述文件PDF并下载了PhotoDemo示例,但我找不到在Web控件旁边使用脚本#的任何示例。我尝试将“脚本支持”模板添加到项目中,然后从脚本#模板列表中添加类和页面模板,但它们都被视为常规C#源代码文件。
我使用了反射器来查看由脚本#安装的mscorlib,System.Web,ScriptSharp.Web,ScriptSharp.VisualStudio,ScriptSharp和Script.Windows二进制文件,并且无法找到任何允许的内容这种行为。
有没有人实现类似的东西或有任何进一步的提示?
我目前设法使用Script#的唯一方法是拥有一个单独的Script#项目,并将javascript文件的输出放在我的Web应用程序中。它有效,但不太理想。
感谢您的时间,
休
答案 0 :(得分: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”文件设置为“Compile”来欺骗系统,将其内容转换为Script#输出中的常量。在我的“.html.cs”文件中,我有你所期望的(点击,更改等事件处理程序),除了UI逻辑现在比以前更多地利用jQuery(一件好事)。
如果您感兴趣,可以查看我的Sharp UI项目,该项目负责解析html常量并将每个html片段视为(客户端版本的)Web用户控件。< / p>