微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 获取asp.net中动态创建的控件的属性值

我如何确定一些动态创建的asp.net控件的宽度?
例如,我有这样的代码

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<encosia:HighslideManager ID="HighslideManager1" runat="server" FadeInOut="true"
    OutlineType="RoundedWhite" ControlBar="false" />
<table style="width: 100%; padding-left: 15px; padding-right: 15px;">
    <tr>
        <td valign="top" style="width: 50%; border-right: dotted 2px White;">
            <asp:literal id="litText" runat="server" mode="Passthrough"></asp:literal>
        </td>
        <td valign="top" style="width: 50%">
            <table style="width: 100%;" cellspacing="10">
                <tr>
                    <td valign="top" style="width: 50%;" id="imageTD" runat="server"  oninit="imageTD_OnInit">
                        <asp:literal id="litEmptyText" runat="server" mode="Passthrough"></asp:literal>
                        <asp:repeater id="Repeater1" runat="server">
                            <ItemTemplate>
                                <center>
                                    <encosia:HighslideImage ID="HighslideImage1" runat="server" Width="200px"
                                            ImageUrl='<%# Eval("ImageURL","images/images/{0}") %>'
                                            FullImageURL='<%# Eval("ImageURL","images/images/{0}") %>'
                                            AlternateText='Image <%# Container.ItemIndex%>'/>


                                    <asp:Label ID="imageDescriptionLabel" 
                                         runat="server" CssClass="longtext"
                                      Text= '<%# CutimageDescText(String.Format("{0}",Eval("Description")),imageTD.Width) %>' />
                                </center>
                            </ItemTemplate>
                            <SeparatorTemplate>
                                <%# ((Container.ItemIndex % 2) == 1) ? "</td></tr><tr><td valign=\"top\" style=\"width:50%;\">" : "</td><td valign=\"top\" style=\"width:50%;\">"%>
                            </SeparatorTemplate>    
                        </asp:repeater>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

我需要计算imageTD的宽度.
我试图在页面事件中计算它的宽度,但是这个属性也像其他样式属性一样是空的. (((
请帮我!
谢谢!

解决方法

你可以通过以下方式做到这一点:

>如果要使用“td”标记作为服务器,则需要将表标记的“runat”设置为“server”并设置该表的ID
>您还需要设置“服务器和ID”tr和td标签
>如果创建td不进入任何数据绑定控件,如转发器,您可以轻松地从服务器端的此控件获取任何属性

.aspx页面示例

<table runat="server" id="tabl1">
    <tr runat="server" id="tr1">
    <td runat="server" id="td1">

    </td>
    </tr>
</table>

.aspx.cs代码exaple

protected void Page_Load(object sender,EventArgs e)
{
    var h = td1.Width;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐