2012-09-13 55 views
0

我使用C#背景创建了ASP.net在线应用程序。我也使用AJAX MaskEditExtender。我对AJAX很陌生,不懂Javascript。我需要做的是根据单选按钮的选择让文本框AJAX蒙版更改。 在这个例子中,他们选择薪水或每小时。我需要的薪水是“999,999”,小时是“99.99”。我想要基于单选按钮选择更改文本框AJAX Mask Edit Extender

<asp:TextBox ID="finalwage" runat="server" Width="80px">$</asp:TextBox> 
<!-- Salary Mask --> 
    <asp:MaskedEditExtender 
      ID="MaskedEditExtender1" 
      runat="server" 
      TargetControlID="finalwage" 
      Mask="999,999" 
      MessageValidatorTip="true" 
      MaskType="Number" 
      InputDirection="RightToLeft" 
      AcceptNegative="None" 
      ErrorTooltipEnabled="true"> 
    </asp:MaskedEditExtender> 
    <asp:MaskedEditValidator 
      ID="MaskedEditValidator1" 
      runat="server" 
      ControlExtender="MaskedEditExtender1" 
      IsValidEmpty="true" 
      MinimumValue="0" 
      MaximumValueMessage="Must enter a number" 
      ControlToValidate="finalwage" > 
    </asp:MaskedEditValidator> 
    <!-- Hourly Mask --> 
    <asp:MaskedEditExtender 
      ID="MaskedEditExtender2" 
      runat="server" 
      TargetControlID="finalwage" 
      Mask="99.99" 
      MessageValidatorTip="true" 
      MaskType="Number" 
      InputDirection="RightToLeft" 
      AcceptNegative="None" 
      ErrorTooltipEnabled="true"> 
    </asp:MaskedEditExtender> 
    <asp:MaskedEditValidator 
      ID="MaskedEditValidator2" 
      runat="server" 
      ControlExtender="MaskedEditExtender1" 
      IsValidEmpty="true" 
      MinimumValue="0" 
      MaximumValueMessage="Must enter a number" 
      ControlToValidate="finalwage" > 
    </asp:MaskedEditValidator> 

.......

​​

继承人,我认为C#代码将工作:

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (RadioButtonList1.SelectedValue = "Hourly") 
    { 
     MaskedEditExtender1.Mask = "99.99"; 
    } 
    if (RadioButtonList1.SelectedValue == "Salary") 
    { 
     MaskedEditExtender1.Mask = "999,999"; 
    } 
} 
+1

我在想这是一个错字,但你忘记了第一个if语句中的“SelectedValue” – Ian

+0

是的,我刚刚注意到2秒前,假设我在那里有 – user1574685

+0

听起来不错。所以当单选按钮选择被改变时,它会回发,还是通过AJAX发送?自从我工作ASP.NET以来已经有一段时间了,但我想我的问题应该是“UpdatePanel中的单选按钮?” – Ian

回答

1

尝试将RadioButtonList1_SelectedIndexChanged代码移到Page_Init。我相信RadioButtonList1_SelectedIndexChanged在生命周期过程中已经太迟以改变掩码。

+0

我同意,但我觉得这与按钮的点击事件没有什么不同。而在按钮点击事件中,您肯定可以更改控件的属性。或者你认为它与MaskedEditExtender不同? – Ian

+0

是啊,这只是在页面加载,如果我按下刷新和重新加载每它将使意义已经选择指数变化,但在这一点,难道不 – user1574685

+0

你是正确的好乔: 如果(Page.IsPostBack){ 如果(RadioButtonList1 .SelectedValue ==“Hourly”) { MaskedEditExtender1.Mask =“99.99”; } 如果(RadioButtonList1.SelectedValue == “工资”) { MaskedEditExtender1.Mask = “999999”; } } – user1574685

相关问题