javascript - 从 javascript 方法调用代码隐藏函数

标签 javascript c# asp.net

我正在尝试使用 JavaScript 调用代码隐藏函数。我需要用我的 gridview 进行一些操作。 这是我的 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 - 从 javascript 方法调用代码隐藏函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34092925/

相关文章:

javascript - 使用 JavaScript 生成独特的随机数

javascript - 在代码中使用 client_secret 的 Chrome 扩展

c# - 如何区分不同的普通异常?

c# - 如何从 SQLException 中获取准确的 "constraint name"

asp.net - 如何在 Visual Studio 2015 中创建 ASP.NET 服务器控件项目?

javascript - ASP.NetRequiredFieldValidator自定义EvaluationFunction属性

javascript - JS 将包含对象值的数组分配给对象键

javascript - 过滤数组并重置索引

c# - 如何在 C# 中重置计时器?

c# - EnterpriseLibrary.Logging 写入日志时差 1 小时