本文介绍了动态创建没有触发按钮单击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经做了一些调查,在这,但没有我已经找到了解决方案,似乎为我的问题提供修复。我在C#中asp web应用程序,我想动态添加一个选择是从下拉列表中进行后提交按钮。
保护无效的Page_Load(对象发件人,EventArgs的发送){ submitButton.Text =提交; submitButton.ID =提交按钮; submitButton.Click + =新的EventHandler(submitButton_Click); SelectionDropDownList.SelectedIndexChanged + =新的EventHandler(SelectionDropDownList_SelectedIndexChanged);}保护无效SelectionDropDownList_SelectedIndexChanged(对象发件人,EventArgs的发送){ 开关(SelectionDropDownList.SelectedIndex) { 情况1: //做了重定向 打破; 案例2: Panel1.Controls.Add(提交按钮); 打破; 案例3: //做了重定向 打破; }}保护无效submitButton_Click(对象发件人,EventArgs的发送){ //不能得到这个事件激发。 SubmitSearch();}解决方案
怎么样,而不是动态添加控件,随时添加,但设置可见=假开始。然后,你目前正在添加它,而不是只让可见光?
动态控制总是在web表单有点棘手。
I have done a bit of research on this but none of the solutions I have found seem to provide a fix for my issue. I have an asp web app in C# and I want to dynamically add a submit button after a selection is made from a drop down list.
protected void Page_Load(object sender, EventArgs e) { submitButton.Text = "Submit"; submitButton.ID = "submitButton"; submitButton.Click += new EventHandler(submitButton_Click); SelectionDropDownList.SelectedIndexChanged += new EventHandler(SelectionDropDownList_SelectedIndexChanged); } protected void SelectionDropDownList_SelectedIndexChanged(object sender, EventArgs e) { switch (SelectionDropDownList.SelectedIndex) { case 1: //does a redirect break; case 2: Panel1.Controls.Add(submitButton); break; case 3: //does a redirect break; } } protected void submitButton_Click(object sender, EventArgs e) { //can't get this event to fire. SubmitSearch(); }解决方案
How about instead of dynamically adding the control, always add it, but set Visible=false initially. Then where you're currently adding it, instead just make it visible?
Dynamic controls are always a little tricky in webforms.
更多推荐
动态创建没有触发按钮单击事件
发布评论