Related Article

关于上述文章的类似主题,但更具体的说明.您如何处理视图状态中的项目(因此它们包含在提交中),但也可以通过AJAX进行更改.例如,假设我们有一个通过AJAX Web服务调用(而不是更新面板)填充的下拉列表.下拉列表的项目更改后,如何让页面验证?

解决方法

你没有验证下拉列表吗?您正在验证用户选择的值.它与其他帖子的建议几乎相同,因为javascript或其他工具可以改变html或创建自己的POST,你必须始终在服务器端验证.假设所有客户端请求都可以被篡改,并假设没有发生客户端验证.

如果您正在使用Web表单模型….

如果您只想检查下拉myAjaxDropDown中选择的值,请使用

<asp:RequiredFieldValidator id="dropdownRequiredFieldValidator"
          ControlToValidate="myAjaxDropDown"
          Display="Static"
          InitialValue="" runat=server>
          *
        </asp:RequiredFieldValidator>

您还可以查看asp:CustomValidator – 用于服务器端验证:

<asp:CustomValidator ID="myCustomValidator" runat="server" 
    onservervalidate="myCustomValidator_ServerValidate" 
    ErrorMessage="Bad Value" />

两者都插入到asp.net的验证框架中.例如当您单击名为SumbitButton的按钮时

protected void myCustomValidator_ServerValidate(object source,ServerValidateEventArgs e)
{
    // determine validity for this custom validator
    e.IsValid = DropdownValueInRange(myAjaxDropDown.SelectedItem.Value); 
}

protected void SubmitButton_Click( object source,EventArgs e )
{
    Validate(); 
    if( !IsValid )
        return;

    // validators pass. Continue processing.
}

一些进一步阅读的链接:

> ASP.Net 2.0 Quickstart – Validating Form Input Controls
> ASP.NET Validation Controls – Important Points,Tips and Tricks

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。