[Ajax.AjaxMethod()]
public DataView GetStates(int countryId)
{
   return DAL.GetCountryStates(countryId);
}这个第一行( 这个  [Ajax.AjaxMethod()]   )是代表什么,这个语法我一直不清楚是起什么作用的。
我把第一行去掉,编译和运行都正常.
多谢指点!!!

解决方案 »

  1.   

    [Ajax.AjaxMethod()]:.net中称之为Attribuet, 中文叫特性.可以给类添加额外的信息(元数据),这些信息通过反射可以获取.Ajax.AjaxMethod()这个特性表示下面的方法运行客户端异步调用,去掉之后编译一定没问题,但
    客户端脚本还可以调用服务器的GetStates方法吗?
      

  2.   

    类的所有信息通过反射都可以取得,并可以赋值.详细查一下SDK
      

  3.   

    不好意思,还得麻烦楼上的,我现在电脑里没有 sdk.
    那特性 简单的说, 是什么作用呢
      

  4.   

    public class A{[Column("NameField")]
    [DisplayName("姓名")]
    public int Name ;}如以上类,可以指定Name字段绑定到数据库某个表的NameField的字段,并且Name字段的中文名
    是"姓名",这些信息在运行的时候都可以获取.
      

  5.   

    类是数据和方法的整体, 是来描述数据或操作的, 而特性是用来描述类的,可以看成是
    描述数据的数据,于是有了一个名字: 元数据 .haha-哈哈,只是个人的一点理解.
      

  6.   

    哈哈。 jianyi0115()  解释得好啊。
    这些元数据用来描述的.那是不是很sqlserver2000里字段的 描述一样的作用呢。列名   描述id     序号
    name   姓名
      

  7.   

    jianyi0115()  再讲一些吧
    最好再讲讲 元数据的作用,和用法