好的,这里是我的问题:.net按钮只触发一次
我有一个窗体,需要有两个字段集几乎相同但收集不同的数据集。这些包含在UpdatePanel中。用户在表单中输入数据,当他们点击“添加”按钮时,该行被插入到DataTable中。用户应该能够按照自己的意愿输入任意数量的行。
由于它们几乎相同,我首先得到了一个正常工作,然后我用它作为第二个的基础。
问题是,现在他们的“添加”按钮只会触发一次。当我尝试再次击中它时,没有任何反应。没有回传发生。
我做了一些reasearch,他们建议做注册按钮脚本管理 ASP.Net button click event not firing
这并没有解决问题。
任何我可以尝试的想法?
编辑3: 解决方案: 问题是ASP:用的RegularExpressionValidator = EnabledClientScript “真”。看起来控件的验证JavaScript会在控件呈现时发生碰撞并破坏asp:Button的javascript。如果我禁用了ClientScript,那么按钮就起作用了。
研究生命周期的建议使我得到正确的答案。问题是没有任何生命周期发生在代码后面。因此,在检查按钮呈现的内容后,这意味着它必须是与JavaScript相关的问题。
编辑2: 我禁用了asp:验证控件,它正在工作。对此有何见解?
编辑1:
下面是一些与问题相关的代码
按钮标记:
<td >
<asp:Button ID="btnPrNew" Text="Add" OnClick="btnPrNew_Click" runat="server" />
</td>
这比处理onclick事件
protected void btnPrNew_Click(object sender, EventArgs e)
{
if (prQuantityValidator.IsValid && prPriceValidator.IsValid)
{
permanentRepairs = newItemizedDT();
permanentRepairsTotal = populateDT(gvEstimatePermanentRepairs, permanentRepairs) + addNewPrRow(); ;
updateSubtotal(totalPermanentRepairs, permanentRepairsTotal);
bindData(permanentRepairs, gvEstimatePermanentRepairs);
clearPrForm();
}
else
{
erErrorMessage.Text = "Please enter only number amounts in Quantity and Unit Price field.";
}
}
你可以发表一些代码,所以我们可以看到你在做什么? – Chuck 2009-12-18 16:06:26
当然。给我一个momemnt – 2009-12-18 16:07:41
让我知道你是否需要比这更多的代码。 – 2009-12-18 16:12:00