Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试在ASP.net Web窗体中应用引导样式_C#_Asp.net_Twitter Bootstrap - Fatal编程技术网

C# 尝试在ASP.net Web窗体中应用引导样式

C# 尝试在ASP.net Web窗体中应用引导样式,c#,asp.net,twitter-bootstrap,C#,Asp.net,Twitter Bootstrap,我有一个文本框,它附带了一个asp:RegularExpressionValidator <div class="form-group col-sm-6 <%= (revAlertValue.IsValid == false ? "has-error" : "") %>"> <label for="AlertValue" class="control-label col-sm-4">Alert Value</label> <div class

我有一个文本框,它附带了一个
asp:RegularExpressionValidator

<div class="form-group col-sm-6 <%= (revAlertValue.IsValid == false ? "has-error" : "") %>">
<label for="AlertValue" class="control-label col-sm-4">Alert Value</label>
<div class="col-sm-4 input-group">
    <span class="input-group-btn">
        <asp:Button ID="btnMediumValue" CssClass="btn btn-warning" runat="server" Text="Low" OnClientClick="btnMediumValue_Click" OnClick="btnMediumValue_Click" />
    </span>
    <asp:TextBox CssClass="form-control text-center" CausesValidation="true" ID="tbAlertValue" runat="server" MaxLength="4" />
    <asp:RegularExpressionValidator ID="revAlertValue" runat="server"
        ControlToValidate="tbAlertValue" ErrorMessage=""
        ValidationExpression="^[1-9]\d*$" />
    <asp:RequiredFieldValidator ID="rfvAlertValue" runat="server" ControlToValidate="tbAlertValue" />
    <span class="input-group-btn">
        <asp:Button ID="btnHighValue" CssClass="btn btn-danger" runat="server" Text="High" OnClientClick="btnHighValue_Click" OnClick="btnHighValue_Click" />
    </span>
</div>

我认为可能在按下submit按钮时必须触发它,或者在按下submit后必须将更多代码添加到
.aspx.cs
处理类添加,但这也不起作用。

要执行此客户端操作,您需要点击ASP.NET提供的客户端代码。下面是一些脚本的示例,您可以在页面上包含这些脚本来执行此操作

(function () {
    var originalRegularExpressionValidator = RegularExpressionValidatorEvaluateIsValid;
    RegularExpressionValidatorEvaluateIsValid = function (val) {
        var originalValidationResult = originalRegularExpressionValidator(val);

        if (!originalValidationResult) {
            var formGroup = $("#" + val.controltovalidate).closest(".form-group");
            formGroup.addClass("has-error");
        }
        return originalValidationResult;
    }
})();
当然,这是假设页面上有jQuery(用于
最接近的
addClass
方法),但是您可以用您想要的任何方法替换它


此外,您可能需要研究覆盖ASP.NET呈现的
页面\u ClientValidate
函数。关于StackOverflow,有很多问题需要解决。

服务器端还是客户端?我更愿意让它在客户端工作。
(function () {
    var originalRegularExpressionValidator = RegularExpressionValidatorEvaluateIsValid;
    RegularExpressionValidatorEvaluateIsValid = function (val) {
        var originalValidationResult = originalRegularExpressionValidator(val);

        if (!originalValidationResult) {
            var formGroup = $("#" + val.controltovalidate).closest(".form-group");
            formGroup.addClass("has-error");
        }
        return originalValidationResult;
    }
})();