从javascript方法调用codeehind函数
Call a codebehind function from a javascript method
我正在尝试用javascript调用一个codeehind函数。我需要对我的网格视图进行一些操作。这是我的javascript:
function hideColumn() {
var gridrows = $("#GridViewHdcvi tbody tr");
AddTeklif.RemoveTextBoxes();
for (var i = 0; i < gridrows.length; i++) {
gridrows[i].cells[5].style.display = "none";
}
return false;
};
还有我的代码头:
[WebMethod]
public static void RemoveTextBoxes()
{
foreach (GridViewRow row in GridViewHdcvi.Rows)
{
TextBox txb = (TextBox)row.FindControl("txtAdet");
string adet = txb.Text;
txb.Visible = false;
Label lbl = (Label)row.FindControl("LblAdet");
lbl.Text = adet+" $";
}
}
"GridViewHdcvi.Rows"中的"非静态字段、方法或属性CRM.AddTeklif.GridViewHdcvi需要对象引用"之类的错误。当我使方法的名称为"public void RemoveTextBoxes()"时,错误消失,但方法不起作用,因为它不是静态的。
您似乎混合了两个不同的概念。JavaScript是从浏览器运行的,不会访问您的服务器代码。您在这里所做的是,当您的页面被渲染以发送到浏览器时,尝试调用WebMethod。
更好的方法是将RemoveTextBoxes方法转换为jQuery,因为您想要做的是修改DOM。
这就是从代码背后调用JavaScript函数hideColumn()的方法。
将其放入要调用javascript函数的方法中。
Page.ClientScript.RegisterStartupScript(this.GetType(), "hideColumn", "hideColumn(;", true);
要从javascript函数调用codeehind,您必须玩一些技巧。
1.)创建一个隐藏的按钮控件。您必须将其隐藏在CssClass 中
<asp:Button ID="hdnButton" runat="server" CssClass="hidden" />
.hidden {
display: none;
}
2.)在后面的代码中创建一个click-hdnButton方法
3.)从javascript 调用隐藏按钮点击事件
function CallCodeBehind() {
document.getElementById('<%= hdnButton.ClientID%>').click();
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 如何在asp.net中从javascript调用codeehind函数
- 将来自codeehind的值返回到客户端的jquery函数中
- 在没有clickevent的情况下从codeehind激活javascript函数
- 从javascript方法调用codeehind函数
- 如何从codeehind向HmlGenericControl添加JavaScript函数
- 从codeehind中的javascript函数中检索值