![](/img/trans.png)
[英]How to pass a value from asp.net datalist to javascript textbox?
[英]How to pass “NULL” value into nullable field during call from JavaScript to ASP.NET WebService
在從JavaScript到ASP.NET WebService的調用期間,如何將“ NULL”值傳遞給可為空的字段?
我通過以下方式從JavaScript調用方法:
ws_data.SaveTasks(eval({"MyValue":"null"}), OnSaveComplete, OnError, OnTimeOut);
當我這樣做時,我會收到一個錯誤(框架調用OnError):
null不是Int32的有效值
如果不是“ null”,而是傳遞有效的整數-一切正常。
請告知:我做錯了什么? 如何傳遞將被“轉換”為NULL .NET對象的“ null”值?
任何想法都歡迎!
PS這里是一些細節。
MyData基本部分的聲明:
public class MyData
{
...
public int? MyValue { get; set; }
}
ASP.NET Web服務的聲明:
[WebService(Namespace = "...")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class ws_data : WebService
{
[WebMethod(true)]
public object SaveData(MyData data)
{...}
}
ws_data是通過ScriptManager聲明的:
<asp:ScriptManager runat="server">
<Services>
<asp:ServiceReference Path="/ws_data.asmx" />
</Services>
</asp:ScriptManager>
這是因為您要傳遞字符串null而不是非值null。 刪除引號以使其實際為空。
{"MyValue": null}
我也不確定您的eval
,我認為可以將其省略,因為eval
應該采用字符串並將其解釋為JavaScript。
ws_data.SaveTasks({"MyValue": null}, OnSaveComplete, OnError, OnTimeOut);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.