在后端使用后无法从前端访问 asp 按钮
unable to access asp button from front end after it is used at the back end
我有一个由许多 div 构建的表单,当我单击 "Next" 按钮时它会显示当前表单并隐藏其他表单 - 这是使用 jQuery.[=14= 构建的]
现在,我需要在后端验证某些内容,以便在自动回发时,我会在标签上收到一条错误消息。
这是按钮:
<asp:Button runat="server" ID="btnNext" CssClass="btn btn-primary pull-right" Text="Next" OnClientClick="return false;"/>
在后端是这样使用的:
If valid Then
lblError.Text = String.Empty
btnNext.Enabled = True
Else
lblError.Text = txtErr
btnNext.Enabled = False
End If
这是 "Next" 按钮的 jQuery 脚本:
btnNext.click(function (e) {
if (divIndex < countDiv) {
divIndex++;
$(curDiv).show();
$(curDiv).siblings().hide();
}
return false;
});
问题是,当我点击 "Next" 时,没有任何反应。如果我从后端删除 btnNext 代码,该按钮将正常工作。
有什么想法吗?
附加信息:
我也在为这个项目使用 telerik。为了在不加载整个页面的情况下更改按钮 (enable/disable),我正在使用 RadAjaxManager 并且 btnNext 是更新的控件之一。
当我从更新的控件中删除 btnNext 时,表单可以工作。
删除 OnClientClick="return false;"
尝试像这样切换代码:
If valid Then
lblError.Text = txtErr
btnNext.Enabled = False
Else
lblError.Text = String.Empty
btnNext.Enabled = True
End If
我觉得问题出在禁用按钮的 if 语句中。
您也可以尝试删除
btnNext.Disable
从代码中看看会发生什么。
我实际上设法解决了这个问题。开始了。
由于我使用 Telerik RadAjaxManager 更新了按钮,因此我需要将 jQuery 脚本重新注册到按钮。
因此,我在后台代码中使用 btnNext 后立即包含脚本。
If blnValid Then
lblError.Text = String.Empty
btnNext.Enabled = True
Else
lblError.Text = txtErr
btnNext.Enabled = False
End If
ScriptManager.RegisterStartupScript(Page, GetType(Page), "Script", "initFormWizard();", True)
我有一个由许多 div 构建的表单,当我单击 "Next" 按钮时它会显示当前表单并隐藏其他表单 - 这是使用 jQuery.[=14= 构建的]
现在,我需要在后端验证某些内容,以便在自动回发时,我会在标签上收到一条错误消息。
这是按钮:
<asp:Button runat="server" ID="btnNext" CssClass="btn btn-primary pull-right" Text="Next" OnClientClick="return false;"/>
在后端是这样使用的:
If valid Then
lblError.Text = String.Empty
btnNext.Enabled = True
Else
lblError.Text = txtErr
btnNext.Enabled = False
End If
这是 "Next" 按钮的 jQuery 脚本:
btnNext.click(function (e) {
if (divIndex < countDiv) {
divIndex++;
$(curDiv).show();
$(curDiv).siblings().hide();
}
return false;
});
问题是,当我点击 "Next" 时,没有任何反应。如果我从后端删除 btnNext 代码,该按钮将正常工作。
有什么想法吗?
附加信息:
我也在为这个项目使用 telerik。为了在不加载整个页面的情况下更改按钮 (enable/disable),我正在使用 RadAjaxManager 并且 btnNext 是更新的控件之一。
当我从更新的控件中删除 btnNext 时,表单可以工作。
删除 OnClientClick="return false;"
尝试像这样切换代码:
If valid Then
lblError.Text = txtErr
btnNext.Enabled = False
Else
lblError.Text = String.Empty
btnNext.Enabled = True
End If
我觉得问题出在禁用按钮的 if 语句中。 您也可以尝试删除
btnNext.Disable
从代码中看看会发生什么。
我实际上设法解决了这个问题。开始了。
由于我使用 Telerik RadAjaxManager 更新了按钮,因此我需要将 jQuery 脚本重新注册到按钮。
因此,我在后台代码中使用 btnNext 后立即包含脚本。
If blnValid Then
lblError.Text = String.Empty
btnNext.Enabled = True
Else
lblError.Text = txtErr
btnNext.Enabled = False
End If
ScriptManager.RegisterStartupScript(Page, GetType(Page), "Script", "initFormWizard();", True)