C# listview中的数据寻呼机问题
我有一个列表视图,在其中我放置了datapager,如下所示。 我正在使用SQl数据源并将记录绑定到ListViewC# listview中的数据寻呼机问题,c#,asp.net,C#,Asp.net,我有一个列表视图,在其中我放置了datapager,如下所示。 我正在使用SQl数据源并将记录绑定到ListView asp:ListView runat="server" ID="ListView1" DataKeyNames="ProductId,GameName" DataSourceID="GameTable" OnItemCommand="On_Select_Item" 和LayoutTemplate中的datapager 在项目模板中,我放置了一个按钮,当单击它时,它调用了一个方
asp:ListView runat="server" ID="ListView1" DataKeyNames="ProductId,GameName" DataSourceID="GameTable" OnItemCommand="On_Select_Item"
和LayoutTemplate中的datapager
在项目模板中,我放置了一个按钮,当单击它时,它调用了一个方法,我试图在其中获取DatakeyName值。当给出寻呼机时,它在第一页工作正常,但是当移动到寻呼机的另一页时,它会抛出一个异常。
这是按钮点击代码
protected void On_Select_Item(object sender, ListViewCommandEventArgs e)
{
if (String.Equals(e.CommandName, "AddtoCart"))
{
//checks if the user is logged in
if (User.Identity.IsAuthenticated)
{
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
DropDownList dl = e.Item.FindControl("DropDownList") as DropDownList;
String val="";
if (dl != null)
{
val = dl.SelectedValue; //Get the selected value from DropDownList
}
String price = Convert.ToString(e.CommandArgument).Trim(); //Get the price for the selected game.
-------------在第行下面抛出异常---------
}首先定义网格(您可以将控件名称更改为listView,但实现方式相同)
试试这个,如果您有任何疑问,一定要告诉我。有什么例外?使用DataPager有什么特殊原因吗?您可以使用gridview/listview附带的内置分页和排序功能,通过使用sqldatasource(作为网格的数据提供者),您无需手动进行分页,它会自动处理分页,页面索引。我得到的异常是ArgumentOutOfRange,我使用datapager,因为查询返回多条记录,我将检查内置分页并返回到you@TwinklingStar当然,如果你需要密码,一定要告诉我。我已经使用了很多次这个功能,它的效果很好。@VishalSachdeva,你能发布一下吗问题在于ListView1.DataKeys[dataItem.DataItemIndex][“ProductId”].ToString()//所选游戏的产品Id。字符串GameName=ListView1.DataKeys[dataItem.DataItemIndex][“GameName”].ToString()//gamename我无法获取datakey值:(@TwinklingStar:请在此处发布您的代码,我将尝试查看它(您可以编辑原始帖子以添加代码),然后尝试解析而不是强制转换(只是为了避免空验证),如:string gamename=(string)ListView1.DataKeys[dataItem.DataItemIndex][“gamename”];或尝试转换.tostring()。
string ProductId =
ListView1.DataKeys[dataItem.DataItemIndex]["ProductId"].ToString(); //Product Id for the selected game.
string GameName = ListView1.DataKeys[dataItem.DataItemIndex]["GameName"].ToString(); //gamename
...............................
.............................
<asp:GridView runat="server" ID="grdResult"
CellPadding="2"
OnPageIndexChanging="grdResult_PageIndexChanging"
GridLines="None"
Width="100%"
AllowSorting="True"
AllowPaging="True"
<asp:SqlDataSource ID="sqlGridData" runat="server"></asp:SqlDataSource>
private void BindDataGrid()
{
sqlGridData.Provider = dataReader;
grdResult.DataSourceID = "xmlGridData";
//grdResult.PageIndex = 0;
}