如果对此的答案似乎显而易见,我深表歉意,但我自己却无法解决.
我正在构建一个Web应用程序,现在我需要从数据库中获取数据并将其显示在数据列表中.
我的目标是在数据列表中提供以下输出:
问题1名称
答案1
答案2
…
答案8
问题2名称
答案1
答案2
…
答案8
问题3名称
答案1
….
你明白了.
我已经写出了一个从问题开始的基本数据列表(下面的代码),该列表在一定程度上有效,但是我不太确定如何找到答案,然后重复该过程直到获取所有数据.
这是代码.
Confirm.aspx
<asp:DataList runat="server" id="dgQuestionnaire">
<ItemTemplate>
<asp:Label ID="Name" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "QuestionText") %>' />
</ItemTemplate>
</asp:DataList>
Confirm.aspx.cs
public partial class Confirm_Questionnaire : System.Web.UI.Page
{
OsqarSQL GetData;
DataTable DT;
protected void Page_Load(object sender, EventArgs e)
{
GetData = new OsqarSQL();
int questionnaireId = (int)Session["QuestionnaireID"];
string questionnaireName = (string)Session["QuestionnaireName"];
ReturnQnrName.Text = questionnaireName + " (ID: " + questionnaireId.ToString() + ")";
int questionId = GetData.GetQuestionID(questionnaireId);
DT = GetData.GetQuestionName(questionnaireId);
dgQuestionnaire.DataSource = DT;
dgQuestionnaire.DataBind();
} // End Page_Load
} // Emd Class Confirm_Questionnaire
Questionnaire.cs(App_Code)
public class OsqarSQL
{
private string _productConnectionString;
private SqlConnection _productConn;
public OsqarSQL()
{
_productConn = new SqlConnection();
_productConnectionString += "data source=mssql.database.co.uk; Initial Catalog=devworks_oscar;User ID=me;Password=you";
_productConn.ConnectionString = _productConnectionString;
}
public DataTable GetQuestionName(int QuestionnaireID)
{
string returnValue = string.Empty;
SqlCommand myCommand = new SqlCommand("GetQuestion", _productConn);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(new SqlParameter("@QUEST_ID", SqlDbType.Int));
myCommand.Parameters[0].Value = QuestionnaireID;
return createDataTable(getData(myCommand));
}
public DataTable GetAnswerTitle(int QuestionnaireID)
{
string returnValue = string.Empty;
SqlCommand myCommand = new SqlCommand("GetAnswer", _productConn);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(new SqlParameter("@QUEST_ID", SqlDbType.Int));
myCommand.Parameters[0].Value = QuestionnaireID;
return createDataTable(getData(myCommand));
}
我知道我遗漏了一些东西,但是我不确定要包括什么才能显示每个问题的答案.
谢谢
Idny,
解决方法:
基本上,您可以将DataList放在另一个DataList的ItemTemplate中.
您可以使用DataKeyField属性链接它们.
这个tutorial会引导您完成操作.
标签:list,datalist,asp-net,c 来源: https://codeday.me/bug/20191101/1986885.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。