我有一个ASP.NET页面,页面顶部是一个搜索框。有两个文本框 - 一个是数据库名称的自动完成扩展程序,一个只是输入ID。
该页面主要包含DetailsViews和GridViews,即使没有搜索过任何帐户,这些显示空白数据也不理想。我通过使用if(IsPostBack)来修复此问题,将元素包含在占位符中并仅在页面为后备时将其设置为可见。但如果用户输入的ID不正确,则不包括此内容。
此外,一些帐户在GridView内部有大量数据。我有一个问题,因为我无法检测数据源的行何时发生了变化,每当页面加载时我都会绑定(Page_Load方法)。我已经意识到这简直非常糟糕 - 有很多时候用户可以点击页面中的各种内容并让页面回发,每次点击某些内容时都需要加载永久性数据
无论如何,我的问题基本上是双重的,但我觉得解决方案会类似:
1:如何检测搜索时没有返回帐户,并禁用网格/详细信息视图并显示错误消息?
2:如何确定用户何时搜索其他帐户?仅重新绑定网格?
由于
答案 0 :(得分:0)
这种方法非常难看,但它可以完成工作。
1)检查是否没有记录;在调用AutoComplete Extenders Webservice之后,如果没有返回记录,则在Session中添加一些值,如
Session["NoData"]=true;
如果找到了记录;
Session["NoData"]=false;
在调用webservice之后,执行ajax请求以检查该会话&在价值的基础上做你想做的事。
2)您也可以按照上述选项实现此目的。