我正在尝试使用 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/