c# - 获取使用javascript计算的按钮单击事件上的gridview模板字段标签值

标签 c# javascript asp.net c#-4.0 gridview

我有一个带有许多模板字段的 Gridview(gvMRVdetails),其中一个是,

<asp:TemplateField HeaderText="Issued Total Qty" ItemStyle-Width="8%" ControlStyle-Width="98%">
    <ItemTemplate>
        <asp:Label ID="lblIssuedTotalQty" runat="server" Text='<%#Bind("TotalIssuedQty") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

最初我将 0.00 绑定(bind)到它作为 TotalIssuedQty

然后我将通过 JavaScript 在另一个文本框 (txtIssuedQty) 按键事件(也在 GridView 中)上计算“lblIssuedTotalQty”的新值。 我可以通过以下方式分配它的值

function CalculateTotalQty(obj) {
        var grid = document.getElementById('<%=gvMRVdetails.ClientID %>');
        var rwIndex = 1;
        var gvRowCount = grid.rows.length;
        if (grid != null) {
            for (rwIndex; rwIndex <= gvRowCount - 1; rwIndex++) {

                var txtIssuedQty = grid.rows[rwIndex].cells[4].firstChild;
                var lblIssuedTotalQty = grid.rows[rwIndex].cells[9].firstChild;
                lblIssuedTotalQty.innerText = parseFloat(txtIssuedQty.value)*2 
                }
            }

它将可见 例如,如果我在 txtIssuedQty 中输入 2.5 , lblIssuedTotalQty 将显示 5。它工作正常。 但我的问题是 我想在 ButtonClickevent

中获取动态计算的值
 protected void btnAllocate_Click(object sender, EventArgs e)
    {
            foreach (GridViewRow GVR in gvMRVdetails.Rows)
            {
                    Label a = GVR.FindControl("lblIssuedTotalQty") as Label;
                    string s = a.Text;
        }
    }

我只能在 s 中获得初始值 0.00。我无法在 s 中获得 5。如果我使用文本框而不是 给它贴上标签是可能的,但使用标签如何获取它。

最佳答案

Sureshhh 我认为问题是因为当您单击服务器控制按钮时,页面控件会被加载,因此标签“lblIssuedTotalQty”再次绑定(bind)到 0.00,因此当您在后面的代码中访问它时,您会得到值为 0.00 .

正如您所提到的,如果您要使用不会绑定(bind)的文本框,可以使新的 js 计算值在后面的代码中可用。

修复:在 GridView 中的每一行上添加任何控件,您不会绑定(bind)该控件来获取其值(甚至可以是像您尝试过的测试框),并将其可见性设置为 false 。在js中将计算值设置到这个不可见的控件中并在后端获取它。

关于c# - 获取使用javascript计算的按钮单击事件上的gridview模板字段标签值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22224980/

相关文章:

asp.net - 以编程方式或声明方式要求 IIS 中单个 asp.net 页面的客户端证书

c# - C# 桌面应用程序的非常基本和简单的 db 文件

c# - 如何在 Mono 中编辑 System.IO.Ports?

C# EF 必需属性无法识别

javascript - 如何使用 Javascript 将数据附加到对象

javascript - 十六进制代码差异

c# - 从应用程序编程 (C#/Visual C++) 到 ASP.NET (C#) 的一些问题

javascript - 自动化父层次结构

c# - System.Configuration.ConfigurationErrorsException异常

javascript - 使用 Javascript/Jquery 搜索 google.com