ASP.NET WebMethod 从字符串参数中删除前导 0
ASP.NET WebMethod Trims Leading 0 From String Parameter
我有一个 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 从字符串中删除。我怎样才能防止这种情况发生?
这 "worked",意思是,这停止了将我的字符串转换为 int 又转换回字符串的任何操作,但我不知道转换发生的原因或位置。
无论如何,我的 "solution" 可以说是将我的字符串包装在一个字符串中。
var data = { Zip: '"09003"' };
注意双刻度周围的单刻度。通过这样做,我想我欺骗了试图进行转换的任何人。
我有一个 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 从字符串中删除。我怎样才能防止这种情况发生?
这 "worked",意思是,这停止了将我的字符串转换为 int 又转换回字符串的任何操作,但我不知道转换发生的原因或位置。
无论如何,我的 "solution" 可以说是将我的字符串包装在一个字符串中。
var data = { Zip: '"09003"' };
注意双刻度周围的单刻度。通过这样做,我想我欺骗了试图进行转换的任何人。