如何将自己的属性添加到Telerik RadMaskedTextBox

时间:2014-01-23 22:36:18

标签: javascript asp.net telerik onkeyup radmaskedtextbox

我需要将自己的属性添加到R​​adMaskedTextBox,但似乎无法做到。有任何想法吗? 这是aspx:

<telerik:RadMaskedTextBox
    ID="txtSocial_Security_Number" runat="server" SelectionOnFocus="SelectAll" Mask="###-##-####"
    requiredrule='<%#required("Social_Security_Number_Or_Federal_Identification_Number")%>'
    onkeyup="ValidateTBNew()">
</telerik:RadMaskedTextBox>

requiredrule 从后端拉出规则,如您所见。但是当Telerik渲染控件时, requiredrule 就消失了!这是呈现的HTML:

<span id="RadPanelBar1_i2_i0_txtSocial_Security_Number_wrapper"
    class="riSingle RadInput RadInput_Default" 
    style="width:130px;">
    <input id="RadPanelBar1_i2_i0_txtSocial_Security_Number"
        name="RadPanelBar1$i2$i0$txtSocial_Security_Number"
        type="text" size="20"
        class="riTextBox riEnabled"
        onkeyup="ValidateTBNew()"
        value="111-11-1111" />
    <input id="RadPanelBar1_i2_i0_txtSocial_Security_Number_ClientState"
        name="RadPanelBar1_i2_i0_txtSocial_Security_Number_ClientState"
        type="hidden" />
</span>

我的onkeyup在那里,但没有所需的规则。 requiredrule的原因是它可以用来确定几种失败状态之一 - 在onkeyup事件中调用的javascript函数中。

1 个答案:

答案 0 :(得分:0)

这是我能够完成的方式...... 我正在使用RadMaskedTextBox,但Telerik表示他们正在弃用它。相反,我使用了asp:TextBox和RadInputManager。如果需要,这是代码。

<asp:TextBox ID="txtSSN" runat="server"
    requiredrule='<%#required("Social_Security_Number_Or_Federal_Identification_Number")%>'
    onkeyup="ValidateTBNew()"></asp:TextBox>

<telerik:RadInputManager ID="RadInputManager1" runat="server">
    <telerik:MaskedTextBoxSetting Mask="###-##-####" SelectionOnFocus="SelectAll">
        <TargetControls>
            <telerik:TargetInput ControlID="txtSSN" />
        </TargetControls>
    </telerik:MaskedTextBoxSetting>
</telerik:RadInputManager>

这样,TextBox使用我的额外 requiredrule 属性正确呈现,并且使用RadInputManager完成SSN的格式化。