Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MaskedEditExtender在Asp.Net中从gridview的第二行开始不工作_Asp.net_Gridview_Ajaxcontroltoolkit_Maskedinput - Fatal编程技术网

MaskedEditExtender在Asp.Net中从gridview的第二行开始不工作

MaskedEditExtender在Asp.Net中从gridview的第二行开始不工作,asp.net,gridview,ajaxcontroltoolkit,maskedinput,Asp.net,Gridview,Ajaxcontroltoolkit,Maskedinput,我的页面上有一个gridview,共有三列,一列用于数量,我需要将MaskedItemXtender与simple TextBox一起使用,但它仅在第一行工作,从第二行开始,TextBox将显示为无掩码 这是我的密码: <Columns> <asp:TemplateField HeaderText="Qty"> <ItemTemplate> <asp:TextBox ID="txt

我的页面上有一个gridview,共有三列,一列用于数量,我需要将MaskedItemXtender与simple TextBox一起使用,但它仅在第一行工作,从第二行开始,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的文本框,并且在MaskedItemXtender的TargetControlID属性中为您指定了一个固定名称。因此,您需要使用RowDataBound事件将MaskedItemXtender放在每个文本框中….

请提供此txt的示例。ClientID为每行返回相同的值,它不起作用。然后文本框ClientMode=“AutoID”txt.ClientID中的此属性为每行返回相同的值,它不起作用。然后在文本框中添加此属性:clientMode=“AutoID”[NullReferenceException:对象引用未设置为对象的实例。]AjaxControlToolkit.MaskedEditExtender.OnLoad(EventArgs e)+99 System.Web.UI.Control.LoadRecursive()+74……请替换mxt.TargetControlID=txt.ClientID;使用mxt.TargetControlID=txt.ID;让我们
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;
        }
    }