gpt4 book ai didi

javascript - 为什么我的 JavaScript 不与我的 UserControl 交互?

转载 作者:行者123 更新时间:2023-11-30 09:06:22 25 4
gpt4 key购买 nike

<%@ 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如下:-

<%@ 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>

当我将它包含在用户控件中时,增量函数现在不起作用。为什么?如果我在没有用户控件的情况下使用递增器和递减器,它可以正常工作。

最佳答案

MainContent_TextBox1 是问题所在。当您在用户控件中包含 TextBox 时,它的名称会因 runat=server

而被破坏

尝试使用:document.getElementById('%=TextBox1.ClientID %')

参见:

http://jagregory.com/writings/how-to-use-clientids-in-javascript-without-the-ugliness/

关于javascript - 为什么我的 JavaScript 不与我的 UserControl 交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4722082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com