访问位于GridView控件内部的ASP.NET控件

3

我有一个GridView,其中一个列是模板,我添加了一个日历控件。

enter image description here

我想从代码后台访问并编辑此控件,但我不知道如何实现。我可以通过编写calender1来访问页面上的日历控件。如何访问Gridview中的日历控件。

<asp:Calendar ID="Calendar2" runat="server" SelectedDate="2014-07-08"></asp:Calendar>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="IsIlanId" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand" OnRowDataBound="GridView1_RowDataBound">
    <Columns>
        <asp:BoundField DataField="IsIlanId" HeaderText="IsIlanId" InsertVisible="False" ReadOnly="True" SortExpression="IsIlanId" />
        <asp:BoundField DataField="Baslık" HeaderText="Baslık" SortExpression="Baslık" />
        <asp:BoundField DataField="Icerik" HeaderText="Icerik" SortExpression="Icerik" />
        <asp:BoundField DataField="YayinlanmaTarihi" HeaderText="YayinlanmaTarihi" SortExpression="YayinlanmaTarihi" />
        <asp:BoundField DataField="BitisTarihi" HeaderText="BitisTarihi" SortExpression="BitisTarihi" />
        <asp:CheckBoxField DataField="YayindaMi" HeaderText="YayindaMi" SortExpression="YayindaMi" />
        <asp:BoundField DataField="FirmaResim" HeaderText="FirmaResim" SortExpression="FirmaResim" />
        <asp:BoundField DataField="FirmaAdi" HeaderText="FirmaAdi" SortExpression="FirmaAdi" />
        <asp:HyperLinkField DataNavigateUrlFields="IsIlanId" DataNavigateUrlFormatString="Ilan.aspx?id={0}" DataTextField="Baslık" />
        <asp:ImageField DataImageUrlField="FirmaResim">
        </asp:ImageField>
        <asp:ButtonField ButtonType="Button" CommandName="cmSec" Text="Button" />
        <asp:TemplateField HeaderText="Yayınlanma Tarihi">
            <ItemTemplate>
                <asp:Calendar VisibleDate='<%# Bind("YayinlanmaTarihi") %>' ID="Calendar1" runat="server" SelectedDate='<%# Bind("YayinlanmaTarihi") %>' ></asp:Calendar>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

请检查我的答案并告诉我是否有不清楚的地方 :) - mybirthname
1个回答

2
在Grid的OnRowDataBound="Grid_RowDataBound"事件中 - 在aspx文件的GridView1中添加此内容。
protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.DataItem == null)
        return;

    Calendar control= e.Row.FindControl("Calendar1") as Calendar;
    control.Visible = false;
}

在您的情况下,控件应该是日历(Calendar)。如果您想要到达按钮,则应选择,对于 控件则选择 Label 控件。

谢谢您的回答,但似乎有误解。我将日历添加为模板。选择网格视图-->编辑列-->添加模板。然后在其中添加一个日历控件。因此,有一个日历模板,每行使用相同的模板。您的解决方案不起作用。 - Omer
如果你在GridView的TemplateField中的<ItemTemplate>中添加了日历控件,这是访问该控件的方法! - mybirthname
请查看我的aspx文件。它已被添加。我该如何访问? - Omer
@osman 首先,这是一个aspx文件而不是配置文件。我已经根据你的情况编辑了我的答案。 - mybirthname

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接