用于将项列表提取到 GridView 中的 JavaScript 代码
JavaScript code for fetching list of items into a GridView
我有一个 ASP.NET 的Web应用程序。在Page_Load
上,将创建包含项的网格视图。我还有一个<asp:Textbox>
和一个搜索按钮。我正在使用PageMethods
来摆脱回发。这个想法是,当单击按钮时,它将调用javascript函数,然后它将调用WebMethod
。WebMethod
将根据搜索条件返回项目列表。
如何获取这些项并用它们填充 GridView?
换句话说,它类似于部分更新 - 单击按钮时,它应该仅更新 GridView。
下面是 WebMethod 的代码:
[WebMethod]
public static List<Item> SearchResults(string text)
{
ItemFunctions item_functions = new ItemFunctions();
List<Item> items = new List<Item>();
items = item_functions.searchResults(text);
return items;
}
下面是网格视图、按钮和文本框:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
<asp:TextBox ID="search_textbox" runat="server" />
<input type="button" id="Button1" value="Search" onclick="SearchResults();" />
<div id="searchResults_GridView" >
<asp:GridView ID="GridView1" AllowPaging="true" GridLines="Both" runat="server" AllowSorting="True"
AutoGenerateColumns="False"
Width="740px"
CausesValidation="False">
<Columns>
<asp:BoundField DataField="item_name" HeaderText="item_name" />
<asp:BoundField DataField="item_description" HeaderText="item_description" />
<asp:BoundField DataField="item_quantity" HeaderText="item_quantity" />
<asp:BoundField DataField="category_name" HeaderText="category_name" />
<asp:BoundField DataField="type_name" HeaderText="type_name" />
<asp:BoundField DataField="item_available" HeaderText="item_available" />
<asp:BoundField DataField="item_serial_number" HeaderText="item_serial_number" />
<asp:BoundField DataField="item_permission_status" HeaderText="item_permission_status" />
<asp:BoundField DataField="item_location" HeaderText="item_location" />
<asp:CommandField ShowSelectButton="true" SelectText="View" />
</Columns>
</asp:GridView>
</div>
这是单击按钮时调用的搜索结果函数:
<script>
function SearchResults() {
PageMethods.SearchResults(OnSucceeded, OnFailed);
}
function OnSucceeded(result, userContext, methodName) {
}
function OnFailed(error, userContext, methodName) {
alert("An error occured :(");
}
</script>
我的JavaScript技能非常糟糕,我还在学习,否则理论上我认为其余的代码应该可以工作。
你可以在javascript中执行此操作,但此时它需要你转储GridView的html(因为在GridView呈现后,它只是HTML)并重新创建一个简单的HTML表。虽然这可能是首选解决方案,但您将在完整回发时丢失所有数据,并且需要重新运行 javascript。
您可以考虑使用UpdatePanel来实现此功能。有关使用 UpdatePanel 的帮助,请参阅以下链接:
http://msdn.microsoft.com/en-us/library/bb386454(v=vs.100).aspx
如何在不刷新所有页面的情况下在 asp.net 中使用更新面板?
相关文章:
- 使用Jquery查找asp.net GridView中的所有复选框
- 动态添加行时,启用/禁用Gridview中的验证程序
- 用于将项列表提取到 GridView 中的 JavaScript 代码
- 如何使用Javascript从Gridview中的文本框中获取文本值
- JQuery 最接近的元素,来自 GridView 中的文本框
- Gridview中的Javascript日历无法工作
- 从GridView中的按钮启动JavaScript
- 如何调用GridView中的文本框
- 通过Javascript获取父GridView中的Div Id
- 只有当数据为数字或null时,才会触发删除GridView中的行时使用数据进行确认
- c#中gridview中的复选框
- 如何在Javascript中找到GridView中的图像控件
- Javascript冻结gridview中的列和行
- 我如何从gridview中的ButtonField调用JS函数
- 通过单击gridview中的html输入按钮控件获取当前行的id,但不执行回发
- 如何使用javascript将gridview中的复选框值转换为文本框
- 使用JQuery或JavaScript访问Gridview中的Eval值
- Javascript选择gridview中的所有复选框
- 当同一GridView中的CheckBox被选中时,如何在GridView中启用和禁用LinkButton
- 更新GridView中的标签