当前位置: 首页 > 编程语言 > C#

在与ASP.Net中的搜索控件相同的页面上显示搜索结果的最佳方法分享

时间:2023-04-11 02:41:09 C#

C#学习教程:与ASP.Net中的搜索控件在同一页面显示搜索结果的最佳方式页面上有两个控件,一个搜索入口和提交控件,一个搜索结果控件,由于需要分开到网站的布局。我正在寻找不同的方法让搜索控件提交在结果控件中显示搜索结果,最初我没有打扰回发,我更关心两件事1)如何将选定的搜索词传递回同一个页面(或者实际上是控件来显示结果)QUerystring、hiddenfield、session、viewstate(有效隐藏字段)?2)我实际上如何让页面提交给自己。抱歉,如果这有点基础,但我不是ASP.Net专家有很多方法可以完成您的要求,老实说,我不确定是否有正确的答案。这完全取决于您的开发风格和您要解决的问题。我有很多编写搜索界面的经验,在我看来,使用查询字符串是传递搜索条件的好方法。然而,这有其优点和缺点。优点:缺点:可能还有其他一些我没有想到的事情,但这会给你一个想法。至于再次将页面发布回自身,有几种方法可以做到,但请尝试使用#符号作为href属性的提交按钮或锚标记。另一件需要考虑的事情可能是使用url重写器让你丑陋的查询字符串看起来漂亮。例如:used_car_search.aspx?让ford=&model=focus可以是:used_ford_focus.html快乐的编码:)这些是UserControls,对吗?我认为在UserControls之间进行通信的最佳方式是使用事件。创建您自己的EventArgs类来封装搜索条件。提交控件在提交搜索时引发事件,并包含页面处理事件并调用搜索结果控件上的方法来执行搜索并显示结果。或者,结果控件可能只负责显示对象的集合,而搜索控件将实际执行搜索并返回EventArgs中的集合。下面是UserControls中主从集的示例。当一个项目被选中时,ProjectListUserControl引发一个事件:publiceventEventHandlerProjectSelected;protectedvoiduxProjectList_OnSelectedIndexChanged(objectsender,EventArgse){if(ProjectSelected!=null){varkeys=uxProjectList.DataKeys[uxProjectList.SelectedIndex=projvarValue]。(引导)键[0];varargs=newProjectSelectedEventArgs(projectId);项目选择(这个,参数);}}容器页面处理事件并调用ProjectDetailUserControl上的方法来显示项目详细信息。以上就是C#学习教程:在ASP.Net中与搜索控件在同一页面显示搜索结果的最佳方式。分享的所有内容,如果对大家有用,需要进一步了解C#学习教程,希望大家多多指教。uxProjectDetails.DisplayDetails(e.ProjectId);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: