[英]Paging in Gridview not working 2nd page data not showing asp.net c#
[英]MaskedEditExtender is not working from 2nd line in gridview in Asp.Net
我的頁面上有一個gridview,有三列,一列代表數量,我需要將MaskEditExtender與簡單的TextBox一起使用,但是它僅在第一行上起作用,而從第二行開始,該文本框將顯示為沒有遮罩。
這是我的代碼:
<Columns>
<asp:TemplateField HeaderText="Qty">
<ItemTemplate>
<asp:TextBox ID="txtQuan" runat="server" ValidationGroup="MKE" MaxLength="5"
style="text-align:right" width="100px" Text='<%# BIND("QUAN") %>' />
<ajaxToolkit:MaskedEditExtender ID="txtQuan_MaskedEditExtender" runat="server"
Enabled="True" Mask="99999" TargetControlID="txtQuan" />
</ItemTemplate>
</asp:TemplateField>
原因是當Gridview渲染行時,每個行都包含帶有不同的自動生成ID的文本框,並且在MaskEditExtender的TargetControlID屬性中為您提供了固定的名稱。 因此,您需要使用RowDataBound事件將MaskEditExtender放置在每個文本框中。
using AjaxControlToolkit; protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txt = (TextBox)e.Row.FindControl("txtQuan");
MaskedEditExtender mxt = (MaskedEditExtender)e.Row.FindControl("MaskedEditExtender1");
mxt.TargetControlID = txt.ID;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.