【发布时间】:2014-04-09 02:50:06
【问题描述】:
我有一个带有许多模板字段的 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 绑定到它作为 TotalIssuedQty
然后我将通过 javascript 在另一个文本框 (txtIssuedQty) 按键事件上计算“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。如果我使用文本框而不是 标记它,可以,但使用标签如何获得它。
【问题讨论】:
标签: c# javascript asp.net c#-4.0 gridview