您好我正在开发一个ASP.NET页面,我想使用AJAX从数据库中查看数据
我所做的是创建了以下C#方法:
[System.Web.Services.WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public static void ViewData(string contNumber, string BookingNo)
{
if (contNumber != "" && BookingNo != "")
{
string container = contNumber;
string booking = BookingNo;
db.SelectData(container, booking);
HttpContext.Current.Response.Write("IN!!"+ booking);
}
}
然后我使用AJAX调用此方法,这里是代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script
function View() {
var container = document.getElementById("#<%=contNoTxtBox.ClientID%>").value;
var booking = document.getElementById("#<%=bookingNoTxtBox.ClientID%>").value;
// var cont = container.value;
// var book = booking.value;
$.ajax(
{
type: "POST",
url: "VGMForm.aspx/ViewData",
data: '{contNumber: "' + $(container) + '", BookingNo: "' + $(booking) + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json"
});
}
在我的HTML页面中,我使用以下代码调用该函数:
<input id="Button1" type="button" value="button" onclick="View()" />
但是,当我点击按钮时,收到以下错误:
未捕获的TypeError:无法读取属性&#39;值&#39;为null
我不确定导致此错误的原因是什么,原因是什么以及如何解决?
答案 0 :(得分:0)
部分getElementById
会返回null
document.getElementById("#<%=contNoTxtBox.ClientID%>")
或
document.getElementById("#<%=bookingNoTxtBox.ClientID%>")
答案 1 :(得分:-1)
我能够通过从脚本中删除.ClientID来解决它:
var container = document.getElementById("contNoTxtBox").value;
var booking = document.getElementById("bookingNoTxtBox").value;