我一直有麻煩讓我的文本框從onchange事件刷新GridView。如何從文本框onchange事件刷新GridView/LINQ數據源
GridView控件被鏈接到一個LINQ數據源和LINQ數據源有一個,將參數用戶ID,它從文本框中獲取...下面的代碼:
<asp:Label ID="label_UserId" runat="server" Text="Search by User Id: "></asp:Label>
<asp:TextBox ID="textbox_UserId" Text="12" runat="server"
ontextchanged="textbox_UserId_TextChanged"></asp:TextBox>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserID" DataSourceID="LINQUserSource"
EmptyDataText="There are no data records to display.">
<Columns>
<asp:BoundField DataField="UserID" HeaderText="UserID" ReadOnly="True"
SortExpression="UserID" />
<asp:BoundField DataField="Username" HeaderText="Username"
SortExpression="Username" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
</Columns>
</asp:GridView>
<asp:LinqDataSource ID="LINQUserSource" runat="server"
ContextTypeName="DotNetNuke.Modules.Report.UsersDataContext"
Select="new (UserID, Username, FirstName, LastName, Email)" Where="UserId = @UserId"
TableName="Users">
<WhereParameters>
<asp:ControlParameter
Name="UserId"
DefaultValue="0"
ControlID="textbox_UserId"
Type="Int32" />
</WhereParameters>
</asp:LinqDataSource>
到目前爲止,我什麼都沒有了後端代碼。由於默認情況下我將文本框設置爲12,因此GridView會加載UserId 12的記錄,但是現在如果更改文本框中的數字,我希望GridView重新加載。有任何想法嗎?
目前還不清楚這是如何解決問題的(如果有的話),你會介意進一步解釋你的答案嗎? – RobV 2012-10-26 19:09:57