如何获得在直放站文字内容的价值 [英] How to get literal content value in Repeater

查看:134
本文介绍了如何获得在直放站文字内容的价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个转发器,如下所示。如何获得报告ID在code的后面(从内hiddenContent2前pression)?

这位前pression是

 <%#的eval(ReportID)%>
 

注:I preFER,做一个方法的不可以使用的FindControl

ASP.NET

 < ASP:直放站ID =rptReports=服务器>
                    < HeaderTemplate中>
                        < D​​IV>
                        < / DIV>
                    < / HeaderTemplate中>
                    <的ItemTemplate>

                        < D​​IV ID =repeaterIdentifier级=repeaterIdentifier>
                            < D​​IV ID =reportTitle级=reportTitle>
                                <%#的eval(标题)+:%>
                            < / DIV>
                            < D​​IV ID =reportFrequency级=reportFrequency>
                                <%#频率 - +的eval(Frequeny)%>
                            < / DIV>
                        < / DIV>

                        < D​​IV CLASS =reportContent>
                            < D​​IV CLASS =repeaterLine>
                                < ASP:文本框ID =txtEmailRecipients=服务器级=文字编辑文字='<%#的eval(收件人)%>文本模式=多行>< / ASP:文本框>
                            < / DIV>
                        < / DIV>



                        < D​​IV ID =hiddenContent2>
                             <%#的eval(ReportID)%>
                        < / DIV>


                    < / ItemTemplate中>
                < / ASP:直放站>
 

code

背后

 保护无效Save_Click(对象发件人,EventArgs的)
    {
        的foreach(在rptReports.Items的RepeaterItem项)
        {

            的foreach(在item.Controls控制C)
            {
                字符串的test1 = c.ID;
                类型t = c.GetType();
            }

            字符串的邮件=((文本框)item.Controls [1])的文本。
        }


    }
 

解决方案

试试这个,

 的foreach(在rptReports.Items的RepeaterItem项)
        {

    标签lblReportID =(标签)item.FindControl(lblReportID);
     字符串ReportID = lblReportID.Text;
}
 

如果您使用的是分区,那么试试这个:

 < D​​IV ID =hiddenContent2=服务器>
        <%#的eval(ReportID)%>
 < / DIV>

 的foreach(在rptReports.Items的RepeaterItem项)
 {

        System.Web.UI.HtmlControls.HtmlGenericControl hiddenContent2 =(System.Web.UI.HtmlControls.HtmlGenericControl)item.FindControl(hiddenContent2);
         字符串ReportID = hiddenContent2.InnerHtml;
 }
 

I have a repeater as shown below. How to get the Report ID in code behind (from the expression inside hiddenContent2) ?

The expression is

<%# Eval("ReportID") %>

Note: I prefer a method that does not use "FindControl".

ASP.NET

     <asp:Repeater ID="rptReports" runat="server">
                    <HeaderTemplate>
                        <div>
                        </div>
                    </HeaderTemplate>
                    <ItemTemplate>

                        <div id="repeaterIdentifier" class="repeaterIdentifier">
                            <div id="reportTitle" class="reportTitle">
                                <%# Eval("Title") +":" %>
                            </div>
                            <div id ="reportFrequency" class="reportFrequency">
                                <%# " Frequency - "+ Eval("Frequeny") %>
                            </div>
                        </div>

                        <div class="reportContent">
                            <div class="repeaterLine">
                                <asp:TextBox ID="txtEmailRecipients" runat="server" class="textEdit" Text='<%# Eval("Recipients")%>' TextMode="MultiLine"></asp:TextBox>
                            </div>
                        </div>



                        <div id="hiddenContent2"> 
                             <%# Eval("ReportID") %>
                        </div>


                    </ItemTemplate>
                </asp:Repeater>

Code Behind

    protected void Save_Click(object sender, EventArgs e)
    {
        foreach (RepeaterItem item in rptReports.Items)
        {

            foreach(Control c in item.Controls)
            {
                string test1 = c.ID;
                Type t = c.GetType();
            }

            string emails = ((TextBox)item.Controls[1]).Text;
        }


    }

解决方案

Try this,

 foreach (RepeaterItem item in rptReports.Items)
        {

    Label lblReportID= (Label)item.FindControl("lblReportID");
     string ReportID = lblReportID.Text;
}

If you are using "div", then try this:

 <div id="hiddenContent2" runat="server"> 
        <%# Eval("ReportID") %>
 </div>

 foreach (RepeaterItem item in rptReports.Items)
 {

        System.Web.UI.HtmlControls.HtmlGenericControl hiddenContent2 = (System.Web.UI.HtmlControls.HtmlGenericControl)item.FindControl("hiddenContent2");
         string ReportID = hiddenContent2.InnerHtml;
 }

这篇关于如何获得在直放站文字内容的价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆