ASP.NET ListView 本身并不支持實時更新。但是,您可以通過使用 AJAX 和 JavaScript/jQuery 來實現實時更新 ListView 的功能。
以下是一個簡單的示例,說明如何使用 AJAX 和 jQuery 來實現實時更新 ListView:
<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<table>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
<asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("ID") %></td>
<td><%# Eval("Name") %></td>
</tr>
</ItemTemplate>
</asp:ListView>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindListViewData();
}
}
private void BindListViewData()
{
// 這里可以替換為您的數據源,例如數據庫查詢
List<Item> items = new List<Item>
{
new Item { ID = 1, Name = "Item 1" },
new Item { ID = 2, Name = "Item 2" },
new Item { ID = 3, Name = "Item 3" }
};
ListView1.DataSource = items;
ListView1.DataBind();
}
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#<%= Button1.ClientID %>").click(function () {
var newItem = { ID: 4, Name: "New Item" };
// 將新項目插入到數據源中
// 這里可以替換為您的數據源操作,例如數據庫插入
items.Add(newItem);
// 更新 ListView
$("#<%= ListView1.ClientID %>").html('');
for (var i = 0; i < items.Count; i++) {
$("#<%= ListView1.ClientID %>").append('<tr><td>' + items[i].ID + '</td><td>' + items[i].Name + '</td></tr>');
}
});
});
</script>
<asp:Button ID="Button1" runat="server" Text="Add New Item" OnClick="Button1_Click" />
現在,當您點擊 “Add New Item” 按鈕時,ListView 將實時更新以顯示新添加的項目。請注意,這個示例僅用于演示目的,您可能需要根據您的實際需求進行調整。