ฉันมี LinqDataSource ที่ฉันใช้ในการคำนวณจำนวนแถวในตาราง ฉันต้องการอัปเดตค่าตัวอักษรด้วยตัวเลขด้วยรหัสต่อไปนี้นำมาจาก MSDN (linqdatasourcestatuseventargs.totalrowcount.aspx):
protected void linqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
Literal1.Text = e.TotalRowCount.ToString();
}
ฉันจะทริกเกอร์เหตุการณ์ที่เลือกบนแหล่งข้อมูลได้อย่างไร คลาส SqlDataSource มีเมธอด Select() เพื่อให้สามารถทริกเกอร์โดยทางโปรแกรมเช่น Page_Load แต่ LinqDataSource ไม่มีวิธีนี้ ขณะนี้ฉันแก้ไขปัญหาด้วยการผูกแหล่งข้อมูลของฉันกับองค์ประกอบ FormView ที่ว่างเปล่า แต่นี่น่าเกลียดเกินไป
ฉันรู้สึกค่อนข้างมั่นใจว่ามีวิธีที่ดีกว่ามากในการรวมจำนวนแถวทั้งหมดลงในตัวอักษรของฉันเมื่อใช้ LinqToSql ฉันแค่ไม่รู้ว่าต้องทำอย่างไร
คำแนะนำโดย tvanfosson ในการแนบวิธีการเข้ากับเหตุการณ์ที่เลือกของแหล่งข้อมูล ไม่สามารถแก้ปัญหาของฉันได้ เนื่องจากเหตุการณ์ที่เลือกยังคงไม่ถูกทริกเกอร์เมื่อโหลดเพจ (ฉันได้แนบเมธอด _Selected กับแอตทริบิวต์ OnSelected ไว้แล้ว เช่นนี้)
<asp:LinqDataSource ID="linqDataSource1" runat="server"
OnSelected="linqDataSource1_Selected">