所以我正在尝试为网站创建一个注册页面,用户可以在其中注册一些问题和答案。用户信息已经存在于应用程序的数据库中(用户需要回答的问题数量才能注册)。例如,我有两个用户user1和user2,每个用户分别有2个和3个问题要注册。问题可以从下拉列表中选择,在它下面有一个文本框来回答它。
所以我的问题是,如何为每个用户填充页面? user1应该有2个DDL和文本框以及user2 3个DDL和文本框。其原因是用户属于不同的组,因此具有不同的注册要求。我从this页面和this页面看到我可能需要编写自己的引擎?
这是我的aspx代码:
<asp:ListView runat="server" ID="RegisterListView" DataKeyNames="Id" Visible="true" >
<LayoutTemplate>
<table id="tblRegister"
style="width: 460px; background-color: lightgray" border="1">
<tr runat="server" id="itemPlaceholder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td colspan="2">
<asp:DropDownList ID="RegisterQuestionList" runat="server" SelectMethod="RegisterQuestionList_GetData" />
</td>
</tr>
<tr runat="server">
<td colspan="2">
<asp:TextBox runat="server" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
这是我的后台代码,在pageload上检索用户特定数量的问题,GetData方法填充下拉列表:
protected void Page_Load(object sender, EventArgs e)
{
using (var db = new AppContext())
{
var userID = Convert.ToInt32(Request.QueryString["User"]);
userID = 9;
var currentUser = db.Users.Find(userID);
numQuestions = currentUser.NumQuestionsRegister;
}
}
public IQueryable<QuestionPool> RegisterQuestionList_GetData()
{
var db = new AppContext();
var questions = db.QuestionsPool;
return questions;
}
有关如何处理此问题的一些建议会受到极大关注。谢谢。