首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClientIDMode in CheckBox

ClientIDMode in CheckBox
EN

Stack Overflow用户
提问于 2014-08-12 12:16:39
回答 2查看 1.3K关注 0票数 0

ClientIDMode属性在asp:CheckBox控件中的用途是什么?我为它找到了AutoID, Inherit, Predictable, and Static值。

我主要是在寻找,它是如何在HTML中呈现的?,有人能解释一下这个属性和值吗?

EN

回答 2

Stack Overflow用户

发布于 2014-08-12 12:31:33

这是MS计算.net控件名称本身的ID的方法。MSDN

由于ASP.net页面放在服务器上并发送到客户端MS将根据可变的条件命名ids,它们是在母版页中,是在用户控制器中,还是在中继器中等等。

由于您不能拥有重复的is,那么如何处理放置在中继器中的.net控件呢?你需要有一个命名算法。有些人愚蠢地使用呈现的ID (ct100_*),而不是使用getElementID通过javascript操作元素。我不知道他们为什么公开这些算法,而不是仅仅说所有的东西都是1算法。也许有人能回答他们为什么公开不同的算法。

票数 0
EN

Stack Overflow用户

发布于 2014-08-12 12:36:57

id生成示例:

网页表格:

代码语言:javascript
复制
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        lstMain.DataSource = new string[] { "a", "b" };
        lstMain.DataBind();
    }
</script>

<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:ListView ID="lstMain" runat="server">
        <ItemTemplate>
            <asp:CheckBox ID="chkFour" runat="server" ClientIDMode="AutoID" />
            <asp:CheckBox ID="chkFive" runat="server" ClientIDMode="Predictable" />
            <asp:CheckBox ID="chkSix" runat="server" ClientIDMode="Static" />
        </ItemTemplate>
    </asp:ListView>
</asp:Content>

结果:

代码语言:javascript
复制
        <input id="ctl00_ContentPlaceHolder1_lstMain_ctrl0_chkFour" type="checkbox" name="ctl00$ContentPlaceHolder1$lstMain$ctrl0$chkFour" />
        <input id="ctl00_ContentPlaceHolder1_lstMain_ctrl0_chkFive_0" type="checkbox" name="ctl00$ContentPlaceHolder1$lstMain$ctrl0$chkFive" />
        <input id="chkSix" type="checkbox" name="ctl00$ContentPlaceHolder1$lstMain$ctrl0$chkSix" />

        <input id="ctl00_ContentPlaceHolder1_lstMain_ctrl1_chkFour" type="checkbox" name="ctl00$ContentPlaceHolder1$lstMain$ctrl1$chkFour" />
        <input id="ctl00_ContentPlaceHolder1_lstMain_ctrl1_chkFive_1" type="checkbox" name="ctl00$ContentPlaceHolder1$lstMain$ctrl1$chkFive" />
        <input id="chkSix" type="checkbox" name="ctl00$ContentPlaceHolder1$lstMain$ctrl1$chkSix" />

将id传递给JS:

代码语言:javascript
复制
<script type="text/javascript">
    var autoId = '<%=someControl.ClientID%>';
    var predictableId = '<%=someControl.ClientID%>';
    var staticId = 'someControl';
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25264059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档