JQuery和ASP.NET Web窗体
我正在创建一个ASP.NET Web窗体应用程序,我正在尝试使用一些不错的jQueryfunction和华而不实。 我的应用程序的当前部分包含两个jQuery UI选项卡; 搜索选项卡和结果选项卡。 当用户从搜索页面执行搜索时,将选择结果选项卡,结果将显示在此选项卡中。 我需要将结果导入gridview。 现在这是问题开始出现的地方:
获取搜索结果的最简单方法是允许搜索单击执行回发,然后我可以使用输入字段中的参数格式化数据源,并让datagrid自行处理并绑定数据并显示结果。 问题是,这看起来真的不那么好(由于整个post等等)以及开始导致使用javascript / jQuery来处理标签切换和所有部分的一些问题因为回发重新初始化一切来自jQuery UI(即jQuery UI选项卡)。 简而言之,回发允许轻松绑定输入以进行搜索并获得结果,但会使页面及其行为完全不稳定。
我想知道是否有一种标准的方法来在web表单中一起完成这种类型的混合jQuery / javascript / AJAX,以获得诸如gridview等function。 我想知道是否有一些很好的教程,甚至只是解决这个问题的方向。
我希望这一切都有意义,谢谢大家的帮助。
我不认为这是一个标准,但这是我使用的模式:
首先,我使用ASP.Net的Page Methods来连接到服务器。 在这种情况下,它将是这样的:
PageMethods.Search(searchValue, onSearchComplete);
这会在页面中调用静态页面方法,如下所示:
public static void Search(string searchValue) ...
在该过程中,我创建了一个包含gridview的用户控件实例,并在该控件上调用一个方法,传递searchValue:
var searchControl = (SearchControl)new SearchControl().LoadControl("/controls/SearchControl.ascx"); searchControl.Search(); var stringBuilder = new StringBuilder(); using (var textWriter = new StringWriter(stringBuilder)) { var htmlWriter = new HtmlTextWriter(textWriter); searchControl.RenderControl(htmlWriter); return stringBuilder.ToString(); }
这将最终作为您在此示例中在初始调用(onSearchComplete)中指定的处理程序的结果参数。 您可以使用标记执行任何操作,包括将其打到div中,或者警告它进行调试。