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

Posted

技术标签:

【中文标题】更新面板 webcontrol 所需的表单字段【英文标题】:update panel webcontrol required form field 【发布时间】:2017-12-12 17:51:57 【问题描述】:

我创建了一个简单的控件,它使用带有按钮单击触发器的更新面板,是的,控件上方的脚本管理器。点击按钮,标签会更新为当前时间,这已经运行了 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"

提前谢谢你

【问题讨论】:

您能否更新您的 html 以显示表单 html 以及表单上所需输入的位置。 winforms 也不是这个问题的合适标签。 【参考方案1】:

可能由于required = "true".的客户端验证,按钮服务器端事件被阻止执行

尝试使用不会触发客户端验证的其他方式更改按钮。我会尝试使用 LinkBut​​ton。

【讨论】:

以上是关于更新面板 webcontrol 所需的表单字段的主要内容,如果未能解决你的问题,请参考以下文章

所需的防伪表单字段“__RequestVerificationToken”不存在

所需的防伪表单字段 __requestverificationtoken 不存在 ajax 调用时出错

ajax 调用中不存在所需的防伪表单字段“__RequestVerificationToken”

从 ajax 方法调用操作引发错误:所需的防伪表单字段“__RequestVerificationToken”不存在

与 HTML Web 表单对话所需的参数

MS Access Openform - 所需的空白字段值