2015-09-04 56 views
2

控制图像更改值在从下拉列表中选择任何值时使用ASP.NET C#自动回发问题时,控件图像更改值。从下拉列表中选择任何值时,不应更改验证码图片。我正在使用ddl_years_SelectedIndexChanged事件。下面是下拉列表和ajax验证码控制设计。Ajax Captcha使用ASP.NET C##

<asp:UpdatePanel ID="UpdatePanel5" runat="server" UpdateMode="Always" ChildrenAsTriggers="true"> 
     <ContentTemplate> 
    <asp:DropDownList ID="ddl_years" runat="server" AutoPostBack="true" CssClass="Exp" 
OnSelectedIndexChanged="ddl_years_SelectedIndexChanged"> 
<asp:ListItem Value="0">Year</asp:ListItem> 
<asp:ListItem Value="1">0</asp:ListItem> 
<asp:ListItem Value="2">1</asp:ListItem> 
    <asp:ListItem Value="3">2</asp:ListItem> 
    <asp:ListItem Value="4">3</asp:ListItem> 
     </asp:DropDownList> 
    </ContentTemplate> 
</asp:UpdatePanel> 


    <asp:UpdatePanel ID="UpdatePanel4" runat="server"> 
    <ContentTemplate> 
    <cc1:CaptchaControl ID="CaptchaControl1" runat="server" CaptchaBackgroundNoise="None" 
    CaptchaHeight="40" CaptchaLength="5" CaptchaLineNoise="None" CaptchaMaxTimeout="240" 
      CaptchaMinTimeout="5" FontColor="111, 109, 85" Width="325px" CaptchaWidth="300" 
      CssClass="textarea_captha" /> 
     </ContentTemplate> 
     </asp:UpdatePanel> 

阿贾克斯验证码控制设计:

<cc1:CaptchaControl ID="CaptchaControl1" runat="server" CaptchaBackgroundNoise="None" 
    CaptchaHeight="40" CaptchaLength="5" CaptchaLineNoise="None" CaptchaMaxTimeout="240" 
    CaptchaMinTimeout="5" FontColor="111, 109, 85" Width="325px" CaptchaWidth="300" CssClass="textarea_captha" /> 

回答

0

我不知道是什么CaptchaControl1控制正在做或如何刷新形象,但我的直觉是,你只需要刷新/呈现图像在第一页加载...

protected override void OnLoad(EventArgs e) 
{ 
    base.OnLoad(e); 

    if(!IsPostBack) 
     CaptchaControl1.Method_that_refreshes_the_image(); 
} 

这假定CaptchaControl1是用户/服务器控件的验证码图像状态保存在回发。

另一个选项是UpdatePanel4UpdateMode属性设置为Conditional

+0

'阿贾克斯验证码Control'没有说太多也有很多第三方的在那里。但是,仍然由于html标记,答案仍然是 – Leo

+0

您使用的是什么控件? @mohdmazharkhan – Leo

+0

所以我已经去为HTML标记解决这个问题,你能观察我的标记。已经做了很多改变,但仍然面临这个问题。 – mohdmazharkhan