如何刷新从文本框onchange事件一个GridView / LINQ数据源
-
19-09-2019 - |
题
我一直有麻烦让我的文本框刷新从onchange事件一个GridView。
在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,用户id 12的记录GridView的负荷,但现在我想,如果我更改文本框中的数字GridView控件重新加载。任何想法?
解决方案
首先AutoPostBack属性添加到您的文本框:
<asp:TextBox ID="textbox_UserId" Text="12" runat="server"
AutoPostBack="true" ontextchanged="textbox_UserId_TextChanged"/>
然后,把这个在后面的代码:
protected void textbox_UserId_TextChanged(object sender, EventArgs e)
{
GridView1.DataBind();
}
其他提示
只需调用
GridView1.DataBind();
您输入新的值之后。
OleDbCommand cmd = new OleDbCommand("update ESInfo1 set OrdTime='" + td.ToString() + "', SSO2='" + DropSupportOfficer.Text + "', Orderby='" + Txthst.Text + "' where Sln=" + Txtsln.Text + "", con);
cmd.ExecuteNonQuery();
GridView1.DataBind();
cmd.Dispose()
,但没有行存在于gridview的
创建一个数据表的方法和返回
GridView1.DataSource =方法(); GridView1.DataBind();
不隶属于 StackOverflow