更新面板 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".
的客户端验证,按钮服务器端事件被阻止执行
尝试使用不会触发客户端验证的其他方式更改按钮。我会尝试使用 LinkButton。
【讨论】:
以上是关于更新面板 webcontrol 所需的表单字段的主要内容,如果未能解决你的问题,请参考以下文章
所需的防伪表单字段“__RequestVerificationToken”不存在
所需的防伪表单字段 __requestverificationtoken 不存在 ajax 调用时出错
ajax 调用中不存在所需的防伪表单字段“__RequestVerificationToken”