c# - 在按钮单击时动态添加父中继器控件
问题描述
我真的不知道要使用什么方法来实现这一目标:
我到处寻找我想要实现的解决方案,但无济于事。尝试动态创建“父”中继器控件和“子”中继器控件一直很困难。“子”中继器控件将位于父“中继器控件内的位置。
基本上,我正在尝试创建一种情况,管理员将通过单击“添加问题”按钮添加这些问题来创建考试问题;每个问题都将保存并显示在带有选项(答案)的重复器控件中,学生可以在其中选择和提交答案。
每个问题都将类似于中继器标题,并且在每个中继器控件内,将有一个按钮,其中选项将添加到问题中(也可以删除该选项)。
问题将是“父”中继器控件,而选项将是“子”中继器。
例如当管理员登录时。在网页上,管理员将在文本框中输入问题,然后单击“添加问题”按钮,问题将被添加到数据库中并显示在带有另一个按钮的控件内以添加选项(即答案);这些选项也将被保存和显示,供学生选择。
每个选项都带有一个单选按钮,以便参加考试的学生可以通过单击每个问题的任何单选按钮来选择一个选项。
这是两个问题的屏幕截图,每个问题有两个选项,用户可以选择并提交
我尝试为此动态创建中继器控件,但我不知道这是否是实现此类目标的正确方法。
SqlCommand cmd = new SqlCommand();
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
Repeater Repeater1 = new Repeater();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Repeater1.DataSource = ds;
Repeater1.DataBind();
foreach (RepeaterItem repeatItem in Repeater1.Items)
{
if (repeatItem.ItemIndex == 0)
{
RepeaterItem headerItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Header);
HtmlGenericControl hTag = new HtmlGenericControl("h4");
hTag.InnerHtml = "Employee Name";
repeatItem.Controls.Add(hTag);
}
RepeaterItem repeaterItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Item);
Label lbl = new Label();
lbl.Text = string.Format("{0} {1} <br />", ds.Tables[0].Rows[repeaterItem.ItemIndex]
["FirtsName"], ds.Tables[0].Rows[repeaterItem.ItemIndex]["LastName"]);
repeaterItem.Controls.Add(lbl);
repeaterItem = new RepeaterItem(repeaterItem.ItemIndex, ListItemType.Separator);
LiteralControl ltrlHR = new LiteralControl();
ltrlHR.Text = "<hr />";
repeaterItem.Controls.Add(ltrlHR);
}
Panel1.Controls.Add(Repeater1);
}
我真的需要你的帮助来实现这一点,拜托。谢谢
解决方案
推荐阅读
- python-3.x - Python:将目录从远程机器(Linux/Windows)复制到本地机器(Windows)
- python - Matlab 到 Python 的转换:“poissinv”函数
- python - 如何在 MyHDL 中接收输入总线?
- typescript - 将表单 TypeScript 1.8.10 升级到 3.1.6
- css - 问题 Firefox 文本溢出:子元素上的省略号
- bash - 如何仅检测我的 bash shell 脚本中的不同文件?
- php - 有没有人经历过 Laravel Artisan 命令返回开放
我一直在用最新版本的 Laravel 框架(目前为 5.7)组合一个 Web 应用程序,我注意到 Artisan 功能存在一个相当令人沮丧的错误。
例如,当我运行 php artisan migrate 时,我得到以下示例响应:
<?php nothing to migrate
- angular - Angular 7:使用下拉框上的 x 按钮清除选择
- c - 在没有 for 的情况下将 C 中的数组向左旋转?
- android - Android - 同时使用两个麦克风