[英]ajax request does not run first before postback in linkbutton asp
我正在尝试在应用程序中使用按钮运行插入语句。 事情是正常的,除了我注意到每当我尝试单击该按钮时,我注意到它会先运行Page_Load,然后才能运行ajax语句。
我应该怎么做才能使ajax语句在Page_Load之前先工作?
这是我的按钮:
<asp:LinkButton ID="uoCheckBoxTagtoVehicle" Text="Tag" Width="50px" Visible='<%# Convert.ToInt32(Eval("TaggedActive")) == 0 ? true : false %>' OnClick='<%# "TagChanged(this, "+ Eval("colIdBigint") +", "+ Eval("colTravelReqIDInt") +", \""+ Eval("RecordLocator") +"\", "+ Eval("SeafarerIdInt") +", "+ Eval("colVehicleVendorIDInt") +", \""+ Eval("colSFStatus")+ "\" , "+ Eval("colVehicleVendorIDInt")+")" %>' runat="server" />
这是我在函数内的ajax请求(正在运行):
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "<%=ResolveClientUrl("~/PageMethods.aspx/TagtoVehicle")%>",
data: "{'colIDBigint': '" + IDBigInt + "', 'colTravelReqIDInt': '" + TravelReq +
"', 'colRecordLocatorVarchar': '" + RecordLoc + "', 'colSeafarerIdInt': '" + SeafarerId + "', 'colOnOff': '" + colSFStatus + "', 'colPortAgentVendorIDInt': '" + Vehiclevendor + "', 'colSFStatus': '" + onoff + "', 'UserId': '" + userId + "'}",
dataType: "json",
success: function(data) {
} ,
error: function(objXMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
您已经在LinkButton中声明了OnClick
事件,OnClick事件在服务器端执行,因此很明显它将调用页面加载方法。
您应该使用OnClientClick
事件而不是OnClick
。 它允许执行JavaScript功能。
<asp:LinkButton ID="uoCheckBoxTagtoVehicle" Text="Tag" Width="50px" Visible='<%# Convert.ToInt32(Eval("TaggedActive")) == 0 ? true : false %>' OnClientClick="callMyFuction" runat="server" />
在JavaScript方面
function callMyFuction(){
//you can call your ajax request here.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.