【发布时间】:2016-06-07 09:11:59
【问题描述】:
我的部分网格视图如下所示:
<asp:TemplateField HeaderText="Mortality Rate" SortExpression="Other2">
<EditItemTemplate >
<asp:TextBox ID="txtAppLimit" Text='<%#Bind("Other2")%>' runat="server" width="60px" maxlength="14">
</asp:TextBox>
<asp:RangeValidator ID="RVAppLimit" Type="Currency" runat="server" ControlToValidate="txtAppLimit"
Display="Dynamic" ErrorMessage="" Font-Size="8pt"
CssClass="msgerror" MinimumValue="0" MaximumValue="200" OnPreRender="GridView1_PreRender" ValidationGroup="group1">
</asp:RangeValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblAppLimit" Runat="server" Text='<%# Bind("Other2") %>' >
</asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="10%" />
</asp:TemplateField>
当我点击一个asp LinkButton时,我正在尝试以这种方式获取asp TextBox ID和asp Label ID:
var $arrL = $('#<%=GridView1.ClientID %>').find('span[id$="lblAppLimit"]');
var $lbl = $arrL[0];
($lbl).disabled = true;
alert (($lbl).disabled);
var $arrT = $('#<%=GridView1.ClientID %>').find('input:text[id$="txtAppLimit"]').val();
var $txt = $arrT[0];
alert (($txt).innerHTML);
禁用 lblAppLimit 没有问题,但是我无法获取文本框 ID 来禁用它。我上面的代码有什么问题?
再补充一点,当我在浏览器上点击查看源代码时,我可以看到 lblAppLimit,但看不到 txtAppLimit。
【问题讨论】:
-
可能你没有处于编辑模式,这就是为什么...
-
@Legends 你是什么意思?
-
txtAppLimit在EditItemTemplate中,所以它只有在网格处于编辑模式时才有效 -
代码太少,无法帮助您,请向我们展示完整的网格标记和您的服务器端网格处理代码。
-
@Ansari 即使我处于编辑模式,它也无法正常工作。
标签: javascript c# jquery asp.net gridview