为什么我的JavaScript不与我的UserControl交互? 函数递增器(){ var txtBox=document.getElementById('MainContent\u TextBox1')。值; var i=parseInt(txtBox); i=i+1; var v=i+“”; document.getElementById('MainContent\u TextBox1')。value=v; 返回false; } 函数递减器(){ var txtBox=document.getElementById('MainContent\u TextBox1')。值; var i=parseInt(txtBox); i=i-1; var v=i+“”; document.getElementById('MainContent\u TextBox1')。value=v; 返回false; }
Default.aspx如下所示:-为什么我的JavaScript不与我的UserControl交互? 函数递增器(){ var txtBox=document.getElementById('MainContent\u TextBox1')。值; var i=parseInt(txtBox); i=i+1; var v=i+“”; document.getElementById('MainContent\u TextBox1')。value=v; 返回false; } 函数递减器(){ var txtBox=document.getElementById('MainContent\u TextBox1')。值; var i=parseInt(txtBox); i=i-1; var v=i+“”; document.getElementById('MainContent\u TextBox1')。value=v; 返回false; },javascript,asp.net,user-controls,getelementbyid,Javascript,Asp.net,User Controls,Getelementbyid,Default.aspx如下所示:- <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %> <script type="text/javascript"> function Incrementer() { var txtBox = document.getElementById(
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<script type="text/javascript">
function Incrementer() {
var txtBox = document.getElementById('MainContent_TextBox1').value;
var i = parseInt(txtBox);
i = i + 1;
var v = i + "";
document.getElementById('MainContent_TextBox1').value = v;
return false;
}
function Decrementer() {
var txtBox = document.getElementById('MainContent_TextBox1').value;
var i = parseInt(txtBox);
i = i - 1;
var v = i + "";
document.getElementById('MainContent_TextBox1').value = v;
return false;
}
</script>
<asp:TextBox ID="TextBox1" runat="server" Text="0"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Up" OnClientClick="return Incrementer();"/>
<asp:Button ID="Button2" Text="Down" runat="server" OnClientClick="return Decrementer();"/>
当我将递增函数包含在usercontrol中时,它现在不起作用。为什么?如果我在没有用户控件的情况下使用递增和递减器,它可以正常工作。
MainContent\u TextBox1
就是问题所在。在用户控件中包含文本框时,由于runat=server
尝试使用:
document.getElementById('%=TextBox1.ClientID%')
见:
MainContent\u TextBox1
是问题所在。在用户控件中包含文本框时,由于runat=server
尝试使用:
document.getElementById('%=TextBox1.ClientID%')
见:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="~/WebUserControl.ascx" TagName="IncrementerUserControl" TagPrefix="uc1" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<uc1:IncrementerUserControl ID="Incrementer1" runat="server"/>
</asp:Content>