日期:2014-05-18  浏览次数:20392 次

AjaxPro.2.dll文件的使用的一些问题
[B] 很多人都用过AjaxPro.2.dll.但是恐怕绝大多数人都和我一样,只会简单的在单个页面中注册个方法,然后在脚本中调用.当然,一般情况下这都能满足我们的需求.但是如果有一个方法/几个方法,会在几乎所有的页面中用到.所以就需要把这些方法封装到一个类文件中以供其它页面调用.如果不考虑用脚本调用服务器端代码,那么就不是问题了.可是现在要通过脚本来调用这个公有的方法,不知道该怎么解决了
  假如要封装的类名叫:Demo 那个公用的方法public string Test(string str) 这个类要放到test.test1这个命名空间下.那么该如何写这段代码呢?方法需要是静态的么?(AjaxPro.2.dll已经引入).此外在脚本中如何调用,在页面文件对应的CS文件中如何注册.(js不支持重载,也是比较郁闷的一个问题了.当然不在考虑的范围内).问题比较难,但是分却不多.希望各位朋友们能够拉兄弟一把.问题解决就结贴.谢谢
[\B]

------解决方案--------------------
如果行不通的话楼主为什么不考虑方法的传递呢?
把那些方法还写在公共类里,只不过用C#去调用它们,
然后再用脚本调用这些定义在本页的方法
page1.aspx
<script>
page1.Method1(2,_callback);
</script>
page1.aspx.cs
[AjaxPro.AjaxMethod]
public static string Method1(int i)
{
return test1.class1.method1(i);
}
------解决方案--------------------
类test.cs
namespace test1
{
[Serializable]
public class test
{
[AjaxPro.AjaxMethod()]
public string test11()
{
return "testajax";
}
}
}
web文件test2.aspx
在文件test2.aspx.cs中
page_load里面
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(test)); 
}

javascript中
alert(test.test11().value);


调试一下,看这个行否