【问题标题】:Masked Edit extender inside a Repeater中继器内的蒙版编辑扩展器
【发布时间】:2010-03-27 13:32:09
【问题描述】:

如何在面板内动态创建文本框和蒙版编辑扩展器。 我的代码是这样的: 在 ASPX 页面中:

<asp:Repeater Id = "Repeater1" runat="server" DataSource="Function1" OnitemDataBound="ShowProducts_OntemDataBound">
<ItemTemplate>
<asp: Panel Id= "Panel1" runat="server">
<cc1:MaskedEditExtender Id="MskEdit" Mask="(999)-999-9999">
</cc1:MaskedEditExtender>
</asp:Panel>
</ItemTemplate>
</asp:Repeater>

在 Aspx.Cs 页面中

Private DataView Function1()
{
Dataview dv =new dataview();
return dv;
}

    Private void ShowProducts_OntemDataBound(object sender, RepeaterEventItem e)
{
//Consider For the First Iteration of the Repeater I am Creating a Simple Text Box Dynamically
Textbox txt = new textbox();
txt.Text = "8888888888";
txt.Id = "TextBox1";

//Consider For the Second Iteration of the Repeater I am Creating another TextBox and a 
Textbox txt1 = new textBox();
txt1.text="2223334444";
txt1.Id = "TextBox2";

MaskedEditExtender mskEdit = (MaskedEditExtender)e.Item.FindControl("MskEdit");
mskEdit.TargetControlId = txt1.Id;

Panel panel1 = (Panel)e.item.Findcontrol("Panel1");
panel1.Controls.Add(txt1);
}

运行上面的代码时,它给了我“MaskedEditExtender 的空引用异常”。请为此建议我一些方法。

【问题讨论】:

    标签: asp.net maskededitextender


    【解决方案1】:

    检查 e.ItemFindControl("MskEdit") 是否不为空,因为在页眉、页脚行中,它将是。 这是代码:

    
    if(e.Item.FindControl("MskEdit")!=null)
    {
    MaskedEditExtender mskEdit = (MaskedEditExtender)e.Item.FindControl("MskEdit"); mskEdit.TargetControlId = txt1.Id;
    }
    

    【讨论】:

    • 嗨,Prashant,但是这个“空引用问题”仅在页面开始呈现后出现......在加载控件时它没有显示任何错误。问候维斯瓦
    • 你在掩码编辑控件中缺少 Runat="server",添加它就完成了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    相关资源
    最近更新 更多