Я пытаюсь установить переменный на использование WebMethod (.asmx
)OnClick и OnClientClick WebMethod выполняется после onlick
Кнопка используется onclick
для вызова метода на сторону сервера и onclientclick
вызвать яваскрипт Аякс, который вызывает WebMethod ,
Мне нужен код javascript, который должен быть полностью выполнен до того, как вызывается метод endclick server end, но кажется, что вызов ajax не выполняется полностью до того, как выполняется обратная передача.
Предупреждение вызывается перед обратной передачей, однако веб-метод вызывается после обратной передачи. Мне нужна переменная, которая должна быть установлена с веб-метода до завершения обратной передачи. Я попытался вернуть false из javascript, но после этого postback вообще не выполняется.
Я использую Masterpages в asp.net. Также у меня есть аналогичная функция в другом проекте, который отлично работает, единственное отличие в этом заключается в том, что я использую MasterPage.
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnAddRegistration" ClientIDMode="Static" CssClass="btn-sm btn-default" runat="server"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
onclick="btnAddRegistration_Click"
OnClientClick='<%# "getSetContactID(\"" + Container.DataItemIndex + "\")" %>'
Text="Add 
Registration" />
</ItemTemplate>
</asp:TemplateField>
Javascript (вызов WebMethod)
function getSetContactID(rowIndex) {
var CellValue, cell, dataItemIndex;
var table = document.getElementById('<%=gvContactSearch.ClientID %>');
$.ajax({
type: "POST",
url: "WebService1.asmx/setContactIDgvContact",
data: '{DataItemIndex: "' + rowIndex + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: alert(rowIndex), <--this gets called before postback
failure: function (response) {alert(response.d);}
})
}
метод Webservice
[WebMethod]
public string setContactIDGV1(int DataItemIndex){
classDetails.gV1DataItemIndex = DataItemIndex;
return "";
}
Попробуйте это: Возвращение всегда ложь от клиента выберите метод getSetContactID и в АЯКС случае успеха явного вызова кнопка постбэк метод-клиента://stackoverflow.com/questions/1305954/asp-net-postback-with-javascript – malkam
попытайтесь установить ** async: false ** свойство в jquery ajax. – sharad