2017-07-08 41 views
2

我创建了一个简单的控件,它使用带按钮点击触发器的更新面板,并且是控件上方的脚本管理器。点击按钮和标签更新与当前时间,这已运行良好6年更新面板webcontrol所需的表格字段

今天,我改变了页面与Bootstrap响应,但这与这个问题无关。

该控件已添加到具有标签和文本框的页面(带名/姓的简单表单)。

<asp:TextBox ID="txtFirstName" runat="server" CssClass="form-control input-lg" Placeholder="Your First Name" MaxLength="20" Required="true"></asp:TextBox> 

如果我删除:

Required="true" 

,并单击控制按钮的日期/时间更新,但将这一回停止日期/时间更新。我需要为我想同时使用了被需要的名字也为时间更新

简单的例子:

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Label ID="lblTime" runat="server" Text=""></asp:Label> 
     <asp:Button ID="btnRefreshTime" runat="server" Text="Refresh Time" OnClick="btnRefreshTime_Click" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="btnRefreshTime" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 

代码背后:

Protected Sub btnRefreshTime_Click(sender As Object, e As EventArgs) 
    lblTime.Text = DateTime.Now.ToString() 
End Sub 

我在做什么错误的,我需要做些什么来解决它,而不会打开形式滥用(脚本攻击)等?我不希望以下添加到页面指令:

ValidateRequest="false" 

预先感谢您

+0

你可以更新你的html来显示表单html和表单所需的输入。 'winforms'也不适合这个问题。 –

回答

0

Probabily防止按钮服务器端事件来执行因required = "true".

客户端验证

尝试用其他方式更改按钮,但不会通过设计触发客户端验证。我会尝试使用LinkBut​​ton。

+1

非常感谢你的好主意。它似乎很好地工作。我真的很感谢你的帮助。奇怪的是,按钮的想法如何与在VS 2010中创建的原始页面一起工作,然而它使用相同的代码,它想要在VS 2015中回发,但您的想法似乎是关键。 –