更新面板 webcontrol 所需的表单字段

update panel webcontrol required form field

我创建了一个简单的控件,它使用带有按钮单击触发器的更新面板和控件上方的脚本管理器。单击按钮,标签将更新为当前时间,这已经运行了 6 年

今天,我将页面更改为响应 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"

提前致谢

可能由于 required = "true".

的客户端验证,按钮服务器端事件无法执行

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