共享社区

首页 » 互联网资源共享社区 » 网页资料共享 » ExtSharp从安装到部署运行
ajax - 2008-8-28 8:29:00
阅读这篇文章前:建议先熟悉 ExtJs框架

ExtSharp,用C#写JavaScript,在cs文件里面写代码,安装extsharp后写C#代码,这些代码可以被编译成javascript,加快了使用 ExtJs 框架开发的速度!!!!
记住:extsharp只是一个编码工具,该工具将以前编写js的不方便调试等缺点优化成在后台写C#代码,工具最终还是会把cs代码编译成javascript

安装,去 ExtSharp安装包和文档下载 这个帖子下载ScriptSharp-v0.4.2.msi安装
     
 附件: 您所在的用户组无法下载或查看附件



直接下一步,下一步就好了!

新建一个站点,我把站点放在F:\ExtSharpDemo\Web 路径下。


 附件: 您所在的用户组无法下载或查看附件




 附件: 您所在的用户组无法下载或查看附件


 附件: 您所在的用户组无法下载或查看附件


在解决方案上右键,选择添加项目,再按下图选择模板(安装后这边多了Script#啦)!

 附件: 您所在的用户组无法下载或查看附件


项目建好了把以前开发 ExtJs 用的一些资源文件复制到项目里面来(如果没有可以下载附件,里面是部署好了的),这些文件是必须的。

 附件: 您所在的用户组无法下载或查看附件



记得在SampleScript项目里面添加 ExtSharp 的引用

先写到这,下面一讲我们来做一个 HelloWorld

在 SampleScript 项目中添加 ExtSharp.dll 引用,ExtSharp.dll文件在附件中可以找到!

下面这一点很重要:用记事本打开 F:\ExtSharpDemo\SampleScript 这个项目的 SampleScript.csproj 文件
找到:
<OutputPath>..\</OutputPath>
<ScriptPath>..\..\..\App_Scripts\</ScriptPath>

把这两个修改成如下:(共有两处哦)
<OutputPath>..\Web\Bin</OutputPath>
<ScriptPath>..\Web\App_Scripts\</ScriptPath>

把<DocumentationFile>..\SampleScript.xml</DocumentationFile>改成<DocumentationFile>..\Web\Bin\SampleScript.xml</DocumentationFile>

这两个修改目的是指定编译后生成的js等文件的路径到Web目录下面!

继续:
07.jpg                                                                                              (22.46 K)
2008/7/9 12:38:53


 附件: 您所在的用户组无法下载或查看附件
在两个项目中分别添加 HelloWorld.cs 和 HelloWorld.aspx

贴代码:
HelloWorld.cs

using System;
using ScriptFX;
using Ext;

namespace SampleScript
{
public class HelloWorld
{
//写一个静态的main方法,每个都是的
public static void main(Dictionary args)
{
ExtClass.onReady(new AnonymousDelegate(delegate() { new HelloWorld().init(); }));
}
//定义初始化内容
public void init()
{
//弹出一个对话框,很简单的写法,有智能感知,如果写的不对会编译不通过,这样避免了JS脚本错误
MessageBox.alert("Button Click", String.Format("You clicked the button"));
}
}
}


HelloWorld.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HelloWorld.aspx.cs" Inherits="HelloWorld" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HelloWorld.aspx.cs" Inherits="HelloWorld" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Hello World</title>
   
    <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" />
    <script type="text/javascript" src="adapter/ext/ext-base.js" ></script>
    <script type="text/javascript" src="ext-all-debug.js" ></script>
   
</head>
<body>
    <form id="form1" runat="server">
    <ssfx:Scriptlet runat="server" ID="scriptlet" EnableDebugging="True" PrecompiledScriptlet="SampleScript.HelloWorld">
        <References>
            <ssfx:AssemblyReference Name="sscorlib"></ssfx:AssemblyReference>
            <ssfx:AssemblyReference Name="ssfx.Core"></ssfx:AssemblyReference>
            <ssfx:AssemblyReference Name="ExtSharp"></ssfx:AssemblyReference>
            <ssfx:AssemblyReference Name="SampleScript"></ssfx:AssemblyReference>
        </References>
    </ssfx:Scriptlet>
    </form>
</body>
</html>



Web.config配置

<?xml version="1.0"?>
<?xml version="1.0"?>
<configuration>
  <system.web>
    <pages>
      <controls>
      <add tagPrefix="ssfx" namespace="nStuff.ScriptSharp.Web.UI"assembly="nStuff.ScriptSharp.Web, Version=0.4.2.0, Culture=neutral,PublicKeyToken=8fc0e3af5abcb6c4"/>
      </controls>
    </pages>
    <compilation debug="true">
      <assemblies>
        <add assembly="nStuff.ScriptSharp.Web, Version=0.4.2.0, Culture=neutral, PublicKeyToken=8fc0e3af5abcb6c4"/>
      </assemblies>
    </compilation>
    <globalization fileEncoding="UTF-8" requestEncoding="UTF-8" resp  />
  </system.web>
</configuration>

好了,编译运行吧!效果图:
HelloWorld.jpg                                                                                      (5.26 K)
2008/7/9 12:50:01


 附件: 您所在的用户组无法下载或查看附件

整个项目的源码在附件中!


 附件: 您所在的用户组无法下载或查看附件
wuwen307 - 2008-9-13 20:36:00
不错,学习中,谢谢
aq82 - 2008-9-26 17:21:00
我按照你说的方式操作,总是提示错误:Scripthost未定义。
是什么地方出来问题?
1
查看完整版本: ExtSharp从安装到部署运行