我有一个问题,在我身边已经有一个星期了。我有一个网站,用户可以创建一个帐户,并从数据库中选择加载视频。我希望视频在看到他们选择的视频时以某个顺序显示在该页面上。我的问题是视频以随机顺序显示。我知道这可能是基本的,但我现在只是入门级别(我毕业后只有两周)。所有的功能都有效,所以没有必要帮助,只是这个令人难以置信的事情。
规格: 用C#ASP.NET编写 他们通过复选框列表添加和删除选择。 我有项目数据绑定,所以我可以在后端添加和删除视频。
我知道这可能会给我一些减票,虽然我不喜欢它,但我只需要帮助解决整个项目的问题。在你因为没有代码而对我大喊大叫之前,请告诉我你想看到的内容,所以我不会添加大量无用的代码。
我并不是想让我做空,相反,我很沮丧,我尝试的一切都行不通。
提前谢谢。
编辑: 这是它的SqlDataSource:
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:fivideoConnectionString %>"
ProviderName="<%$ ConnectionStrings:fivideoConnectionString.ProviderName %>"
InsertCommand="INSERT INTO dealervideo(DealerRecID,VideoRecID) VALUES (?,?)"
DeleteCommand="DELETE FROM dealervideo where RecID = ?" >
<DeleteParameters>
<asp:SessionParameter Name="recid" SessionField="videorecid" />
</DeleteParameters>
<InsertParameters>
<asp:ControlParameter ControlID="hidRecID" Name="recid" PropertyName="Value" />
<asp:SessionParameter Name="videorecid" SessionField="videorecid" />
</InsertParameters>
</asp:SqlDataSource>
这是Gridview:
<asp:GridView ID="GridView2" runat="server"
DataSourceID="SqlDataSource2" AutoGenerateColumns="False"
DataKeyNames="RecID" CellSpacing="5" BorderStyle="None" BorderWidth="0px">
<Columns>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:CheckBox ID="cbDelete" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
</Columns>
</asp:GridView>
这是他们点击将视频添加到列表中的事件:
protected void btnAddVideo_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in GridView3.Rows)
{
CheckBox chkItem = (CheckBox)gvr.FindControl("cbAdd");
if (chkItem.Checked)
{
String sRecID = GridView3.DataKeys[gvr.RowIndex].Value.ToString();
Session["videorecid"] = sRecID;
SqlDataSource2.Insert();
SqlDataSource2.SelectCommand = "SELECT * FROM dealervideo inner join videos on videos.RecID = dealervideo.VideoRecID inner join dealers on dealers.RecID = dealervideo.DealerRecID where dealers.RecID = " + hidRecID.Value;
}
}
GridView2.DataBind();
答案 0 :(得分:1)
在您的选择命令和您想要订购的字段上添加“ORDER BY”。
示例:
SqlDataSource2.SelectCommand = "SELECT * FROM dealervideo inner join videos on videos.RecID = dealervideo.VideoRecID inner join dealers on dealers.RecID = dealervideo.DealerRecID where dealers.RecID = " + hidRecID.Value + " ORDER BY videos.RecID";
答案 1 :(得分:0)
我假设您绑定了存储过程或sql命令的结果?在这种情况下,为什么不在SQL语句中使用“Order By”子句?这些项目将按照从数据库中提取的顺序显示。