会者不难,收分了啊

我心飞翔 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();
...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
我心飞翔 2011-07-01
  • 打赏
  • 举报
回复
已经解决:

LinqDataSourcePaymentDetail.WhereParameters.Clear();
LinqDataSourcePaymentDetail.WhereParameters.Add("StudentUserId", DbType.Guid, firstRecord.UserId.ToString());

先把参数清除,然后再添加,就Okay了。
估计:应该是WhereParameters中参数的值没更新。
flyerwing 2011-07-01
  • 打赏
  • 举报
回复
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
misswangjinfeng 2011-07-01
  • 打赏
  • 举报
回复
页面加载,还是查询的时候都手动绑定数据源
GridViewPaymentDetail.DataSource=数据源;
GridViewPaymentDetail.DataBind();
q107770540 2011-07-01
  • 打赏
  • 举报
回复
从不用 LinqDataSource来作为GV的数据源

直接从后台查询到数据 绑定到 GV.DataSource上
子夜__ 2011-07-01
  • 打赏
  • 举报
回复
没有where 条件啊。
我心飞翔 2011-07-01
  • 打赏
  • 举报
回复
那是在页面中静态指定的LinqDataSource数据源啊。

<asp:GridView runat="server" ID="GridViewPaymentDetail"
AutoGenerateColumns="False" DataKeyNames="StudentUserId,Times"
DataSourceID="LinqDataSourcePaymentDetail"
chengchao1124 2011-07-01
  • 打赏
  • 举报
回复
学习下!
xuexiaodong2009 2011-07-01
  • 打赏
  • 举报
回复
LinqDataSourcePaymentDetail.WhereParameters.Add("StudentUserId", DbType.Guid, firstRecord.UserId.ToString());
//还有一句执行查询的跑哪去了???
GridViewPaymentDetail.DataBind();

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧