[英]Why does my JavaScript not interact with my UserControl?
<%@ 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();"/>
Default.aspx as follows:- Default.aspx如下:
<%@ 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>
The incrementer function now doesn't work when I have it included in the usercontrol. 现在,当我将其添加到用户控件中时,增量器功能将不起作用。 Why? 为什么? If I use the incrementer and decrementer without the user control it works fine. 如果我在没有用户控制的情况下使用增量器和减量器,则可以正常工作。
MainContent_TextBox1
is the problem. MainContent_TextBox1
是问题。 When you include the TextBox in the user control, its name gets mangled due to runat=server
当您在用户控件中包含TextBox时,由于runat=server
,其名称将被runat=server
Try using: document.getElementById('%=TextBox1.ClientID %')
尝试使用: document.getElementById('%=TextBox1.ClientID %')
See: 看到:
http://jagregory.com/writings/how-to-use-clientids-in-javascript-without-the-ugliness/ http://jagregory.com/writings/how-to-use-clientids-in-javascript-without-the-ugliness/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.