C# 从asp.net repeater获取数据项并显示在前端代码上
我不使用asp.net,所以这对我来说是一个学习曲线,我知道如果你知道如何使用asp.net,我会很容易理解一些东西。请提前道歉: 以下是C:C# 从asp.net repeater获取数据项并显示在前端代码上,c#,asp.net,C#,Asp.net,我不使用asp.net,所以这对我来说是一个学习曲线,我知道如果你知道如何使用asp.net,我会很容易理解一些东西。请提前道歉: 以下是C: rptListingAllMandatoryCourses.DataSource = listingAllMandatoryCourses(); rptListingAllMandatoryCourses.DataBind(); public DataSet listingAllMandatoryCourses() { Data
rptListingAllMandatoryCourses.DataSource = listingAllMandatoryCourses();
rptListingAllMandatoryCourses.DataBind();
public DataSet listingAllMandatoryCourses()
{
DataSet dataSet = new DataSet();
User user = (User)Context.Items["CurrentUser"];
SqlConnection selectConnection = new SqlConnection(ConfigurationSettings.AppSettings["DBConnectStr"]);
SqlDataAdapter adapter = new SqlDataAdapter("dbo.procCataloguesGetAllCoursesByCategory", selectConnection);
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
// get results
adapter.SelectCommand.Parameters.Add("@FilterByDomain", SqlDbType.Bit).Value = 0;
if (user.Domain.Guid != Guid.Empty)
{
adapter.SelectCommand.Parameters.Add("@DomainID", SqlDbType.UniqueIdentifier).Value = user.Domain.Guid;
}
adapter.SelectCommand.Parameters.Add("@Limit", SqlDbType.Int).Value = 5;
adapter.SelectCommand.Parameters.Add("@FilterByDomain", SqlDbType.Bit).Value = 0;
adapter.SelectCommand.Parameters.Add("@Culture", SqlDbType.VarChar, 6).Value = "en-GB";
adapter.SelectCommand.Parameters.Add("@IsEnabled", SqlDbType.Bit).Value = null;
adapter.SelectCommand.Parameters.Add("@DomainAdminID", SqlDbType.UniqueIdentifier).Value = null;
adapter.SelectCommand.Parameters.Add("@Category", SqlDbType.UniqueIdentifier).Value = "Carousel";
adapter.SelectCommand.Parameters.Add("@UserID", SqlDbType.UniqueIdentifier).Value = null;
try
{
dataSet = new DataSet();
adapter.Fill(dataSet);
}
catch (Exception exception)
{
dataSet.Dispose();
dataSet = null;
LMS_DB.LMS_DB.LogErrorEvent(exception.Message, AuditEntryType.CatalogueCoursesGetCourses);
}
finally
{
if (selectConnection.State == ConnectionState.Open)
{
selectConnection.Close();
}
}
return dataSet;
}
protected void rptListingAllMandatoryCourses_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataRowView row = (DataRowView)e.Item.DataItem;
}
前端部分:
<asp:Repeater ID="rptListingAllMandatoryCourses" runat="server" OnItemDataBound="rptListingAllMandatoryCourses_ItemDataBound">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "CourseTitle")%>
</ItemTemplate>
</asp:Repeater>
页面加载正常,没有错误,但我看不到任何数据。。。。我检查了程序,我可以看到CourseTile返回的数据,但似乎没有传递到aspx模板?有什么想法吗
在DB中运行DB查询时显示结果的屏幕截图
谢谢我将此更改为使用ListView而不是中继器,效果非常好