代码之家  ›  专栏  ›  技术社区  ›  Canavar

在不使用JavaScript定义类的情况下,如何创建类?

  •  2
  • Canavar  · 技术社区  · 15 年前

    我在服务器端有这样一个类:

    public class Address
    {
        public Address(string countryCode)
        {
            this._CountryCode = countryCode;
        }
    
        private string _CountryCode = string.Empty;
        public string CountryCode
        {
            get { return _CountryCode; }
            set { _CountryCode = value; }
        }
    
    }
    

    我有一个由Ajax方法调用的方法:

    [AjaxMethod]
    public static Address ValidateAddress(Address address)
    {
       // Some logic here...
       return address;
    }
    

    我想在客户端调用这个方法,但是如何在客户端实例化Address类呢?我不想定义一个名为 Address 在JavaScript文件中。

    <script>
    
    function valaddress(){ 
    
      var address = new Address(); // I'm asking here ??
      address.CountryCode = 90;
    
      // This part is ok, no problem in here : 
      var validatedAddress = AddressControlDataHelper.ValidateAddress(address).value; 
    
    }
    
    </script>
    

    3 回复  |  直到 13 年前
        1
  •  5
  •   Jason Plank Vijay    13 年前
    var address = { 
        CountryCode: "1"
    }
    

    这应该能奏效

    <script>
      function valaddress(){ 
    
          var address = { 
              CountryCode: "90"
          };
    
          // This part is ok, no problem in here : 
          var validatedAddress = 
           AddressControlDataHelper.ValidateAddress(address).value; 
    
      }
    </script>
    
        2
  •  2
  •   Andrew Hare    15 年前
        3
  •  0
  •   Dave Archer    15 年前

    使用.net AJAX扩展,您可以在上面添加GenerateScriptType标记,例如,您的服务器端ValidateAddress()

    [GeneratScriptType(typeof(Address)]
    

    服务器将向客户端发送必要的js,以便您可以进行js调用

    var address = new nameofyournamespace.Address()
    

    msdn GenerateScriptTypeAttribute reference