ASP.. NET WebMethod从字符串参数中去掉前导0

本文关键字:参数 NET WebMethod 字符串 ASP | 更新日期: 2023-09-27 18:01:48

我有一个WebMethod如下:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public string CityState(string zip)
{
    if (zip.Length < 5) return string.Empty;
    //truncated for readability
     var data = "Foo";
     return data;
}

在ascx控件中,我有以下内容:

<script type="text/javascript">
        var data = { Zip: "09003"  };
        $.ajax({
            type: "GET",
            url: "/postalcodevalidator.asmx/CityState",
            data: data,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (result) {
                console.log("Woohoo");
            },
            error: function () {
                console.log("Boohoo.")
            }
        });
</script>

在请求期间,从字符串中删除前导0。我怎样才能避免呢?

ASP.. NET WebMethod从字符串参数中去掉前导0

这个"工作",意思是,这停止了任何转换我的字符串到int回字符串,但我不知道为什么或在哪里转换发生。

在任何情况下,我的"解决方案"都是将字符串包装在字符串中。

var data = { Zip: '"09003"'  };

注意双勾号周围的单勾号。通过这样做,我猜我欺骗了任何试图进行转换的东西