Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的链接按钮的OnClick事件从未触发_Javascript_C#_Asp.net_Linkbutton - Fatal编程技术网

Javascript 我的链接按钮的OnClick事件从未触发

Javascript 我的链接按钮的OnClick事件从未触发,javascript,c#,asp.net,linkbutton,Javascript,C#,Asp.net,Linkbutton,我想根据dropdownlist中的selectedItem生成动态dropdownlist和链接按钮。以下是场景: 1.用户从“家庭”中选择家庭名称 2.将创建动态DDL和“submitAnswers”链接按钮。这些DDL将包括一些与所选系列相关的特定问题。用户将从动态创建的DDL中选择答案。 3.用户将单击链接按钮并保存答案 我的问题是,当我点击链接按钮时,按钮点击事件“SubmitAnswers\u click”从未被触发。我无法找到并解决原因。我的代码如下所示: protected vo

我想根据dropdownlist中的selectedItem生成动态dropdownlist和链接按钮。以下是场景: 1.用户从“家庭”中选择家庭名称 2.将创建动态DDL和“submitAnswers”链接按钮。这些DDL将包括一些与所选系列相关的特定问题。用户将从动态创建的DDL中选择答案。 3.用户将单击链接按钮并保存答案

我的问题是,当我点击链接按钮时,按钮点击事件“SubmitAnswers\u click”从未被触发。我无法找到并解决原因。我的代码如下所示:

protected void ddlFamily_SelectedIndexChanged(object sender, EventArgs e)
            {
                questions = GetQuestions();
                int counter = 0;
                while (counter < questions.Count)
                {
                    DropDownList ddl = new DropDownList();
                    ddl.ID = "dynamicDDL" + counter.ToString();
                    ddl.Items.Add(questions[counter]);
                    String q2 = "SELECT ANSWERID, answer FROM Answer WHERE questionID="+questionIDs[counter];
                    ReturnResultViaQueryToDB(answers, answerIDs, q2);
                    for (int i = 0; i < answers.Count; i++)
                    {
                        ddl.Items.Add(answers[i]);
                    }
                    pnlFamily.Controls.Add(ddl);
                    counter++;
                    answers.Clear();
                    answerIDs.Clear();
                    howManyDDLCreated++;
                }
                if (howManyDDLCreated > 0)
                {
                    LinkButton lb = new LinkButton();
                    lb.ID = "bnSubmitAnswers";
                    lb.Attributes.Add("AutoPostBack", "true");
                    lb.ForeColor = System.Drawing.Color.Yellow;
                    lb.Click += new EventHandler(submitAnswers_Click);
                    lb.Text = "Submit Answers";
                    pnlProvince.Controls.Add(lb);
                }
            }
        }
        protected void submitAnswers_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < howManyDDLCreated; i++)
            {
                var currentDynamicDDL = (DropDownList)Page.FindControl("DynamicDDL" + i);
                String s = currentDynamicDDL.Text;
//save answers here
            }
        }
protectedvoid ddl系列\u SelectedIndexChanged(对象发送方,事件参数e)
{
问题=获取问题();
int计数器=0;
while(计数器<问题数)
{
DropDownList ddl=新的DropDownList();
ddl.ID=“dynamicDDL”+counter.ToString();
ddl.Items.Add(问题[柜台]);
字符串q2=“选择应答ID,从应答中选择应答,其中questionID=“+questionID[计数器];
ReturnResultViaQueryToDB(答案、答案、第2季度);
for(int i=0;i0)
{
LinkButton lb=新的LinkButton();
lb.ID=“bSubmitanswers”;
lb.Attributes.Add(“AutoPostBack”、“true”);
lb.ForeColor=系统.Drawing.Color.Yellow;
lb.单击+=新建事件处理程序(提交者单击);
lb.Text=“提交答案”;
pnlProvince.Controls.Add(磅);
}
}
}
受保护的无效提交者单击(对象发送者,事件参数e)
{
for(int i=0;i
提前感谢您的帮助。我很感激

顺便说一下,我检查了被问到的问题,发现了一些类似的问题。然而,不幸的是,我找不到合适的答案。非常抱歉,如果有,如果我错过了


这取决于web表单的页面生命周期。如果将控件添加到aspx标记中,则代码将在回发时处理这些控件的创建。如果创建动态控件,则需要在生命周期的适当阶段自行重新创建它们。Page_init事件是最安全的位置,应该允许视图状态填充状态并触发事件。您需要重新附加事件处理程序。Microsoft将告诉您更多信息。

谢谢您的回答。此处,应基于选定的族创建动态控件,因为每个族都有不同数量的问题。在这种情况下,如何在Page_init中创建DDL?请考虑页面加载或页面回发。您已经在页面加载中进行了创建。您的具体问题是动态添加的按钮没有触发其单击事件。重新创建page_init中的按钮就是您问题的答案。阅读我附加的链接,尝试了解页面的生命周期。这将帮助您回答DDL的另一个问题。如果有帮助,请随时将此标记为正确答案。抱歉,我仍然无法修复它。需要明确的是:当页面首先出现时,屏幕上只有一个ddl(系列)。用户选择一个项目,然后基于该项目,需要创建动态DDL。Page_init事件未到达所选项目,因为它是在SelectedIndex_更改之前触发的。那么,如何在不知道所选族的情况下在Page_init中创建DDL呢。当我尝试页面加载时,buttonClick事件再次未触发。您的问题是关于button事件未触发。您是否阅读了链接,在init中重新创建了按钮并触发了事件。在解决问题之前,您需要了解页面生命周期。你的问题是关于按钮点击的,所以先解决,然后再提出一个关于ddls的单独问题。