动态添加AjaxControlToolkit.MaskedEditExtender

时间:2014-03-03 11:33:12

标签: c# asp.net ajaxcontroltoolkit

我正在尝试构建一个允许用户自定义表单的表单设计器。我想在某些字段中添加Masked Edit Validator,例如日期。我试过添加这个。我得到的结果是没有输入掩码(我希望看到像 / / _ _)。 知道我做错了吗?

我在项目中向AjaxControlToolkit.dll添加了一个Reference。

在aspx页面上:

    <%@ Register TagPrefix="asp" Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit, Version=4.1.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" %>

    <form id="formTestSurveyForm" runat="server">
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" ></asp:ScriptManager>
</div>

在aspx.cs页面上:

    case "DAT":
                            TextBox tb = new TextBox();
                            tb.ID = "tbDat" + intQuestionCount.ToString();
                            tb.CssClass = "PositionCol3 SVSTextBox1";
                            tb.Width = 250;
                            // check for date range restricdtions and display in tooltip
                            strTooltip = "";
                            if (question.DateMaxDaysInPast != 0)
                            {
                                DateTime dtPastDate = DateTime.Now.AddDays(-Convert.ToInt32(question.DateMaxDaysInPast));
                                strTooltip = "Date must be after " + dtPastDate.ToShortDateString();
                            }
                            if (question.DateMaxDaysInFuture != 0)
                            {
                                DateTime dtFutureDate = DateTime.Now.AddDays(Convert.ToInt32(question.DateMaxDaysInFuture));
                                if (strTooltip == "")
                                {
                                    strTooltip = "Date must be before " + dtFutureDate.ToShortDateString();
                                }
                                else
                                {
                                    strTooltip += " and before " + dtFutureDate.ToShortDateString();
                                }
                            }
                            tb.ToolTip = strTooltip; ;
                            // if this is a completed form look for saved response
                            if (intCompletedSurveyAnswerId != 0)
                            {
                                tb.Text = strAnswerText;
                            }
                            questionsPanel.Controls.Add(tb);

                            // add to list of controls
                            m_orderOfControls[intNumOfControls] = "TB";
                            intNumOfControls += 1;
                            // add to saved textboxes
                            m_dynamicTextBoxes[intTextBoxCount] = tb;
                            intTextBoxCount += 1;

                            // try add masked edit extender
                            AjaxControlToolkit.MaskedEditExtender maskedEdit = new AjaxControlToolkit.MaskedEditExtender();
                            maskedEdit.ID = "mk_" + tb.ID;
                            maskedEdit.TargetControlID = tb.ID;
                            maskedEdit.Mask = "99/99/9999";
                            maskedEdit.MaskType = AjaxControlToolkit.MaskedEditType.Date;
                            //maskedEdit.InputDirection = AjaxControlToolkit.MaskedEditInputDirection.RightToLeft;
                            questionsPanel.Controls.Add(maskedEdit);

                            break;

1 个答案:

答案 0 :(得分:0)

您需要使用AjaxControlToolkit控件添加ToolkitScriptManager