我使用嵌套控件来管理一系列表单,但是在onclick事件上遇到了问题。
与GridView/DetailsView结构不同,我只使用了文本框和手动代码插入。
场景如下:我有一个汽车保险表单,用户可以添加其他命名的驾驶员。顶部是一个区域,您可以添加自己的详细信息(这是一个单独的用户控件),底部是一个区域,您可以添加最多4个命名的驾驶员(这也是一个单独的用户控件)。我想要做的是在“添加驾驶员”链接按钮的onclick事件中将详细信息添加到数据库中,然后清除表单字段,以便用户可以添加另一个驾驶员。这一切都很好地运作,直到你再次点击“添加驾驶员”按钮却发现它无法工作。
这是包含"添加驾驶员"用户控件的父控件:
这是AddDriver控件上添加驱动程序提交按钮的onclick事件的简化版本。
有什么方法可以在第一次OnClick之后重新激活这个链接按钮(或者删除它并重新创建它),以便我可以添加多个驱动程序?我尝试在提交后对按钮进行数据绑定,但是像预期的那样没有效果,但这就是我要寻找的东西。我无法重定向页面,因为如本帖早些时候提到的,它正在使用嵌套控件,并且我通过DropDownList的SelectedIndexChanged事件到达该表单。
欢迎任何想法-谢谢。如果需要更多信息,请告诉我。
与GridView/DetailsView结构不同,我只使用了文本框和手动代码插入。
场景如下:我有一个汽车保险表单,用户可以添加其他命名的驾驶员。顶部是一个区域,您可以添加自己的详细信息(这是一个单独的用户控件),底部是一个区域,您可以添加最多4个命名的驾驶员(这也是一个单独的用户控件)。我想要做的是在“添加驾驶员”链接按钮的onclick事件中将详细信息添加到数据库中,然后清除表单字段,以便用户可以添加另一个驾驶员。这一切都很好地运作,直到你再次点击“添加驾驶员”按钮却发现它无法工作。
这是包含"添加驾驶员"用户控件的父控件:
<h2>Add Permanent Driver</h2>
<asp:ValidationSummary ID="uxValidationSummary" runat="server" ShowSummary="true" ValidationGroup="ChangeDetails" />
<div class="clear"></div>
<h3>
Please enter your details below as they are on your insurance documents</h3>
<uc1:UserDetails ID="uxUserDetails" runat="server" />
<uc2:AddDriver ID="uxAddDriver" EntryType="Permanent" runat="server" />
这是AddDriver控件上添加驱动程序提交按钮的onclick事件的简化版本。
protected void uxSubmit_Click(object sender, EventArgs e)
{
Page.Validate("AddDriver");
if (Page.IsValid)
{
DriverDAL.DriverTableAdapters.DriverTableAdapter taDriver = new DriverDAL.DriverTableAdapters.DriverTableAdapter();
taDriver.DriverInsert(StartDate, EndDate, Title,
FirstName, Surname, DateOfBirth, Gender);
uxDriverList.DataBind();
uxDate.Text = string.Empty;
uxEndDate.Text = string.Empty;
uxTitle.SelectedIndex = 0;
uxFirstName.Text = string.Empty;
uxSurname.Text = string.Empty;
uxDateOfBirth.Text = string.Empty;
uxGender.SelectedIndex = 0;
}
}
有什么方法可以在第一次OnClick之后重新激活这个链接按钮(或者删除它并重新创建它),以便我可以添加多个驱动程序?我尝试在提交后对按钮进行数据绑定,但是像预期的那样没有效果,但这就是我要寻找的东西。我无法重定向页面,因为如本帖早些时候提到的,它正在使用嵌套控件,并且我通过DropDownList的SelectedIndexChanged事件到达该表单。
欢迎任何想法-谢谢。如果需要更多信息,请告诉我。
CausesValidation="false"
吗? - James JohnsonCausesValidation = "false"
,它確實可以工作。唯一的麻煩是,我需要它引起驗證,所以還沒完全解決。不過還是很棒的... - e-on