0
基本上,我試圖填充部門表並基於(比如說更改日期)爲某個日期範圍內的任何部門創建按鈕。問題是,該按鈕創建,但沒有數據,c#asp當使用ItemDataBound創建基於字段的按鈕時,Repeater數據不會顯示
繼承人是我迄今爲止 - 我的onPageLoad綁定,所有的作品和顯示,直到我嘗試的ItemDataBound
ASP.net
<asp:Repeater ID="DepartmentsList" runat="server" OnItemDataBound="DepartmentsList_ItemDataBound"/>
<HeaderTemplate>
<table id="grouptable" class="table table-bordered table-striped">
<thead>
<tr>
<th>Send</th>
<th>ID</th>
<th>Name</th>
<th>Last Modified</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<input type="checkbox" name="SendSelect[]" value="<%# Eval("Dept_ID") %>"</input></td>
<td><%# Eval("Dept_ID") %></td>
<td><a href="<%# Eval("gURL") %>"><%# Eval("DESC") %></a> </td>
<td><asp:Label ID="chg_date" runat="server" Text='<%# Eval("chg_date") %>'></asp:Label></td>
<td><a class="btn btn-info" href="<%# Eval("gURL") %>"><i class="icon-pencil icon-white"></i> Edit </a>  <asp:Button ID="bcastBtn" runat="server" Text="Send Now" CssClass="btn btn-danger" /> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>
數據源
C#代碼
protected void DepartmentsList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
{
return;
}
else
{
Repeater bcastbuttonControl = (Repeater)item.FindControl("bcastBtn");
Repeater DepartmentsList = (Repeater)item.FindControl("chg_date");
//Coding for date validation to go here - at the minute just checking based on empty or null
if (String.IsNullOrEmpty(chg_date.Text))
{
bcastBtn.Visible = false;
}
else
{
bcastBtn.Visible = true;
}
}
}
我同意代碼可能是不正確的,但我會認爲這樣會引發一個可見的異常,而不是吞下一個。 – mclark1129 2012-08-14 11:58:03
嘗試對Button進行更改bcastbuttonControl =(Button)item.FindControl(「bcastBtn」); Label DepartmentsList =(Label)item.FindControl(「chg_date」);並沒有什麼區別 - 它幾乎就好像它沒有看到數據集的所有 – JazziJeff 2012-08-14 12:01:56
你能做出我剛剛發佈的更改嗎? – 2012-08-14 12:08:47