问答

javascript – 控件不存在.为什么?

 来源    2019-07-29    0  

我在下面有我的设置.渲染页面时会抛出此错误:当前上下文中不存在名称“UserName”.我不明白为什么因为我的控制权就在电话会议之上.我在一个单独的控件中有相同的设置,它工作得很好.有谁能解释一下?

<asp:TextBox ID="UserName" runat="server" Width="136px"></asp:TextBox>

<asp:CustomValidator ID="cvUserNameOrEmailRequired" ValidationGroup="LoginForm"
    runat="server" CssClass="input-error" ErrorMessage="Username is required"
    ControlToValidate="UserName" Display="Dynamic"
    ClientValidationFunction="UsernameValidateTextBox" ValidateEmptyText="True">
    </asp:CustomValidator>

<script type="text/javascript">
    function UsernameValidateTextBox(source, arguments) {
        if (arguments.Value % 2 == 0) {
            arguments.IsValid = false;
        } else {
            arguments.IsValid = true;
        }
    }
    **//ERROR IS THROWN HERE**
    $("#<%=UserName.ClientID %>").focus(function () {
        $("#<%=cvUserNameOrEmailRequired.ClientID %>").css({ visibility: "hidden" });
    });
</script>

UPDATE

如果我删除此调用:$(“#”).focus(function(){然后我为获取相同的错误

上面的代码位于内.标记放在外面会删除错误.

UPDATE

我将jQuery代码移到了之外并且错误消失了.我用了:

$('#<%=LoginForm.FindControl("UserName").ClientID%>').focus(function () {
    $('#<%=LoginForm.FindControl("cvUserNameOrEmailRequired").ClientID%>')
        .css({ visibility: "hidden" });
});

没问题.但为什么它不能在中运行标签?

Login控件,如Repeater和GridViews,使用模板.这将获取那些模板标记中的控件,如Login的,从Page.Controls列表中取出,并将它们放入Login标记的Controls列表中.因此,您需要在Login控件列表中引用控件.

此代码使用FindControl()方法,该方法遍历控件的所有直接子节点,按名称查找ID.下面的完整代码显式地将其强制转换为目标类型,但是如果它更容易,则可以转换为更通用的控件,因为您只获取了ClientID属性:

((对照)Login1.FindControl( “用户名”)).ClientID的

此外,Login控件有点特别之处在于它需要具有特定ID的某些控件,因此它不会在Login LayoutTemplate中呈现文字的客户端JavaScript代码.所以移动文字标签外的模板.这当然不能解决引用问题,因此您仍然必须使用FindControl()获取对子控件的引用.

<asp:Login ID="Login1" runat="server">
    <LayoutTemplate>
        <asp:TextBox ID="Password" runat="server" Width="136px"></asp:TextBox>
        <asp:TextBox ID="UserName" runat="server" Width="136px"></asp:TextBox>
        <asp:CustomValidator ID="cvUserNameOrEmailRequired" ValidationGroup="LoginForm" runat="server"
            CssClass="input-error" ErrorMessage="Username is required" ControlToValidate="UserName"
            Display="Dynamic" ClientValidationFunction="UsernameValidateTextBox" ValidateEmptyText="True">
        </asp:CustomValidator>
    </LayoutTemplate>
</asp:Login>
<script type="text/javascript">
    function UsernameValidateTextBox(source, arguments) {
        if (arguments.Value % 2 == 0) {
            arguments.IsValid = false;
        } else {
            arguments.IsValid = true;
        }
    }
    $("#<%= ((TextBox)Login1.FindControl("UserName")).ClientID %>").focus(function () {
        $("#<%=((CustomValidator)Login1.FindControl("cvUserNameOrEmailRequired")).ClientID %>").css({ visibility: "hidden" });
    });
</script>
相关文章
HTML5视频javascript控件 – 重新启动视频
问答我知道如何使用play()和pause()启动和停止视频,但是如何使用javascript将HTML5播放回来呢?有没有办法将指针移回开始?::将currentTime属性设置为0.
1
javascript控件(二):一个好用的表格(分页实例)
日志一.官网 https://datatables.net/ 二.引用 <script src="bower_components/datatables.net/js/jquery.dat ...
1
javascript控件(一):一个好用的日历
日志一.官网 http://www.my97.net/ 二.引用 <script src="bower_components/My97DatePicker/WdatePicker.js&q ...
1
javascript – Twitter Bootstrap按钮组控件单选按钮/复选框
问答我试图使用Twitter Bootstrap button group作为一组实际的表单输入控件.默认情况下,这些按钮组可以像单选按钮或复选框组一样运行,但是由于它们使用元素,它们实际上不能像单选按钮 ...
1
javascript – 如何从输入文件控件中删除一个特定的选定文件
问答如何从输入文件控件中删除一个特定的选定文件? 我有一个输入文件控件与选择多个文件的选项;然而,我想验证一个文件,如果它有一个错误的扩展,那么我应该从文件控制本身删除该文件,是可能吗? 我试过如下 &l ...
1
javascript – 如何在c#中的wpf webbrowser控件中注入js文件
问答嗨,我在我的xaml页面上使用WPF WebBrowser控件. 我的html包中有Html,Jquery,js和css文件. 我必须在所有jquery库的Web浏览器控件中加载html页面. 我怎么 ...
1
JavaScript中的HTML控件数组 – Checkbox数组1返回零长度
问答我正在使用复选框的控件数组来捕获多个选择 以下代码(带有两个复选框)运行良好,并按预期返回值2(或者有多少). 但是,如果数组中只有一个复选框项,则返回0(零)的长度-.为什么会这样?它不应该返回1的 ...
javascript – 标记选择器控件
问答是否有任何好的(免费或付费)JavaScript控件,就像StackOverflow标签选择器一样? (您可以在标题"标签"下面询问新问题时看到它).::为多个值配置jQuery ...
javascript – __doPostBack只有在页面上有LinkBut​​ton,Calendar或WizardStep控件时才有效
问答我发现__doPostBack存在问题并找到了解决方法.我正在寻找原因的解释和/或比我的工作更好的解决方案. 场景: 我有一个填充了值的下拉列表; "-Select-"," ...
javascript – 如何使用OData模型将两个数据属性直接绑定到一个控件属性中?
问答我正在使用OData模型将UI控件绑定到GW服务.在服务元数据中,数据结构中有"FirstName"和"LastName".在UI上,比方说,我正在使用Labe ...
在WebBrowser控件中从.NET Compact Framework调用JavaScript函数
问答无论如何通过WebBrowser控件从.NET Compact Framework调用JavaScript函数?::它适用于Navigate()方法.我刚试过Windows Mobile 5.0 Po ...
2
.NET WebBrowser控件新窗口上的Javascript Window.Opener Object Null
问答好吧,我在.NET Framework的WebBroswer控件中有一个弹出窗口,我用NewWindow事件处理程序捕获它,就像这样. WebBrowser w = new WebBrowser(); ...
1
javascript – 滑动或单击滑块控件时旋转木马滑动不正确(下一个/上一个)
问答我刚刚完成了一个我正在研究的旋转木马,它使用滑动/触摸,还使用了prev / next等控件来控制旋转木马.现在我有关于旋转木马行为的问题.基本上我试图让它一个接一个地滑动.这是我一直在研究的代码示例 ...
1
javascript – 基于对象边界框的摄像头控件?
问答来自three.js的正常轨道控制对于圆形物体是完美的,但对于长物体不好(特别是当变焦关闭时),我正在寻找解决方案来解决这个问题. 用文字描述很难,请从Google查看此webgl示例(放大最大值以查 ...
1
javascript – 使用Node.js将视频文件流式传输到html5视频播放器,以便视频控件继续工作?
问答Tl; Dr – 问题: 什么是正确的方式来处理流视频文件到具有Node.js的html5视频播放器,以便视频控件继续工作? 我认为它与头处理的方式有关.无论如何,这里的背景信息.代码有点冗长,但是, ...
1
javascript – 角色组件:控件中未定义绑定
问答我正在写一个简单的角度分量.我作为绑定传递一个参数,并在屏幕上显示它的值.一切正常:我可以看到参数显示在屏幕上. 零件: var app = angular.module("test&quo ...
1
javascript – 如果控件尚未填写,则自定义验证器不会触发
问答我有一种感觉,这可能是一个非常简单的问题,但不能为我的生活弄清楚. 我有一个asp:文本框.我有一个自定义验证器,其上有客户端和服务器端验证. 这是代码: <asp:TextBox ID=&qu ...
1
我可以在VS 2012中的webbrowser控件中调试javascript代码吗?
问答我想知道我是否可以在VS 2012中使用调试器来获取winform应用程序的webbrowser控件中的javascript代码.我不是在谈论在IE等网络浏览器中进行调试,因为这不是我运行代码的方式. ...
c# – 如何在WebBrowser控件中注入Javascript?
问答我试过这个: string newScript = textBox1.Text; HtmlElement head = browserCtrl.Document.GetElementsByTagNam ...
1