会者不难,收分了啊
我心飞翔 2011-07-01 09:22:03 问题描述:
页面中有一个TextBox控件,输入用户名,点击【查询】按钮,查询显示这个学生的相关信息。
页面下面有一个GridView显示,与该学生相关的细节信息。使用LinqDataSource数据库源。
现在是查询显示相关信息正确,但下面的GridView中的细节信息不刷新。(页面第一次运行时,正常,再次输入其它用户名,则GridView中显示的还是上个学生对应的具体信息)
后台主要代码如下:
var studentQuery = from student in tableStudent
where student.Name == TextBoxStudentName.Text
select new
{
student.UserId,
student.Name,
student.Expense
};
var firstRecord = studentQuery.First();
LabelName.Text = firstRecord.Name;
LabelExpense.Text = firstRecord.Expense.ToString();
// 根据页面中输入的用户名查询得到的StudentUserId,为LinqDataSource动态指定where参数
// 页面中LinqDataSource的参数部分的相关设置
// <asp:LinqDataSource runat="server" ID="LinqDataSourcePaymentDetail"
// ContextTypeName="YSComputerDataContext" EntityTypeName="" TableName="Payment"
// Where="StudentUserId == @StudentUserId">
// </asp:LinqDataSource>
LinqDataSourcePaymentDetail.WhereParameters.Add("StudentUserId", DbType.Guid, firstRecord.UserId.ToString());
GridViewPaymentDetail.DataBind();