- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用网络方法 (.asmx
) 设置变量
按钮使用 onclick
调用服务器端方法,使用 onclientclick
调用调用 web 方法的 javascript ajax。
我需要在调用 onclick 服务器端方法之前完全执行 javascript 代码,但似乎在进行回发之前 ajax 调用没有完全执行。
警报在回发之前被调用,但是 web 方法在回发之后被调用。我需要在回发完成之前从 webmethod 设置变量。我试过从 javascript 返回一个 false,但是回发根本没有完成。
我在 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(调用网络方法)
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);}
})
}
网络服务方法
[WebMethod]
public string setContactIDGV1(int DataItemIndex){
classDetails.gV1DataItemIndex = DataItemIndex;
return "";
}
最佳答案
这里是一个经典的竞争条件场景。
默认情况下,AJAX 调用是异步的,因此当您触发 AJAX 调用时,JS 代码块逻辑上结束,并触发下一个顺序事件,在本例中为服务器端事件。然后是 AJAX 代码执行的函数与您的服务器端 onclick 事件之间的竞争。在我看来,您有几种选择:
event.preventDefault
),并在完成序列的 AJAX success
方法内挂接一些内容async: false
选项关于javascript - onclick和onclientclick web方法在onclick之后执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338759/
在 asp.net 用户控件中我有一个按钮: 我正在尝试使用 JavaScript 函数验证我的 contactno 控件,但它并未在 OnClick 事件之前引发 JavaScript 代码: function validate() {
ASP.NET 控件的 OnClientClick 属性有什么意义?它不是简单地为 HTML 元素生成一个 onclick 属性吗? 最佳答案 是的,它只是生成客户端 onclick 属性。 它是为了
我已经在 asp.net 按钮的 OnClientClick 属性中添加了代码,但现在验证控件无法正常工作。当我删除 OnClientClick 代码时,验证有效。 我怎样才能让他们都工作? 最佳答
我的 aspx 网页中有一个按钮,应该在我的 c# 代码后面的代码中“单击”该按钮。 OnClientClick 方法然后调用 JS 确认对话框,因此 btn_Click 函数仅在用户单击“确定”时执
OnClientClick = '' 大家好,我想在这里做的是,我只想在 IsActice 计算结果为真时启用返回确认。我收到服务器标记未形成错误。 请帮忙。 最佳答案 问题出在您的单引号(例如 '
我在网页上有一个 ASP.NET 按钮: 和一个 JavaScript 函数: function SelectSome() { var id = document.getEleme
在我的 asp 页面中,我使用小程序截取了客户端桌面的屏幕截图,并要求他们通过单击 LinkButton 将其发送到服务器。我使用 runApplet() 函数调用我的小程序来捕获屏幕并将字符串值
我是 JavaScript 新手。我写了一段代码,但它没有按照我的意愿工作。这是我的代码。 function changeText() { document.getEleme
我有 OnClientClick="返回确认('付款?');" 绑定(bind)到 asp:Button。它工作正常,但是,在弹出此确认之前,我需要检查文本框是否包含值...我该怎么做? 如果文本框值
提交按钮应该验证所有文本框,所以我编写了这段代码, 但它不起作用并且我还希望如果文本框不为空,那么它应该回发并且onclick应该调用,否则不 function submit() { f
我有这个按钮: 这个 JavaScript 函数: function submit() { alert("entrei"); //tabelaAutores var tabe
这是我的工作代码 ' /> 现在我想调用另一个函数bindBlockUI();,该函数会在客户端单击时阻止 UI,以便用户不会再次单击。 现在它用两个按钮否和确认生成警报,当我点击否时什么也不会发生
我有一组 ASP.NET 控件: Search 如您所见,我正在使用 OnClientClick,这样我就可以禁用 Find 按钮并显示 SearchingLabel(并且 JavaSc
我在页面上有几个 ASP 文本框控件,其中添加了自定义验证器。我有保存按钮,它可以验证这些文本框。我刚刚添加了与文本框相同的验证组。 为了合并附加要求,我为保存按钮添加了 onClientClick
我有一个这样声明的链接按钮 Update 在我的 javascript 中我有这段代码 jQuery(document).ready(function () { al
我有一个链接: OnClientClick=' ' /> 这是失败的,因为我确定如何添加最后一个字符串变量(由“字符串值”表示) 最佳答案 试试这个 OnClientClick=' ' /> 单引号会
以下内容给我一个错误“服务器标记格式不正确” ?');"> Delete (这在显示用户列表的数据绑定(bind) ListView 中使用。当您单击删除按钮时,将使用 JavaScript
我有一个在代码隐藏中动态创建的复选框。我还需要添加一个 textbox,如果 checkbox 被选中,它是可见的。我知道我可以使用 checkBox.Attributes.Add("onclick"
当我使用 telerik radbutton 时 刷新页面后,总是SaveIt()函数开始工作。但;当我使用按钮时,它仅在用户单击时起作用。 Stackoverflow 它们有什么区别? 最佳答案
我是一名优秀的程序员,十分优秀!