【发布时间】:2018-08-10 18:38:18
【问题描述】:
我在 C# 中为我的 Web 应用程序构建了一些自定义控件。我也在使用 Visual Studio 2013。
控制:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="YearsTextBox.ascx.cs" Inherits="MutualExpert.Controls.YearsTextBox" %>
<div class="input-group">
<asp:TextBox ID="tb" runat="server" CssClass="form-control text-right" />
<div class="input-group-addon">Years</div>
</div>
从我想使用它的 ASPX 页面调用它:
<cc:YearsTextBox runat="server" ID="tbDamageLife" />
我希望控件在页面上呈现为“tbDamageLife”
我尝试了什么:
如果我指定 ClientIDMode="Static" 则我得到 ID="tb" :
<div class="input-group">
<input name="ctl00$cpMain$tbDamageLife$tb" id="tb" class="form-control text-right" type="text">
<div class="input-group-addon">Years</div>
</div>
如果我不这样做,我会得到 ID="ctl00_cpMain_tbDamageLife_tb" :
<div class="input-group">
<input name="ctl00$cpMain$tbDamageLife$tb" id="ctl00_cpMain_tbDamageLife_tb" class="form-control text-right" type="text">
<div class="input-group-addon">Years</div>
</div>
我只想让它渲染 tbDamageLife,我给它的 ID。
这是一个棘手的问题,我需要这些是静态的,以便 JS 访问它来进行计算。有必要。如果可以的话,我会解决它,但我根本做不到。
【问题讨论】:
-
我正在输出多个收集“年”的控件,因此如果它们都出现“tb”(密钥已存在),则存在一个明显的问题
标签: javascript html jquery asp.net webusercontrol