选中 C# .NET 项目中的单选按钮时使用 JavaScript 显示通知模式

Using JavaScript to display a notification modal when radiobutton in C# .NET project is checked

我正在开发一个 C# .NET / ASP.NET 项目。我有一个名为 LineItemPage.ascx 的文件,该文件包含一个特定的单选按钮。每当用户选中此单选按钮时,我想以弹出 window 或模态的形式显示通知,让用户知道在选中该单选按钮时要记住的一些条件。到目前为止,我尝试使用 Windows.Forms 来显示弹出窗口,但它没有按预期工作。我试过这样的事情:

MessageBox.Show("Test message");

它给了我一个错误,因为应用程序不是 运行 UserInteractive 模式。关于那个还有另一个 post 所以我将代码更改为此处推荐的代码:How to resolve Error : Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation

这没有给我想要的结果,所以我进一步修改了代码,发现一些 JavaScript 已经存在于该单选按钮。这是前端:

<asp:RadioButton ID="rdOtherSpecialRelease" runat="server" GroupName="SpecialRelease" onkeypress="ignoreReturn(event)" onclick="ReleaseOptionChanged(this);" Text="Other"></asp:RadioButton>&nbsp;&nbsp;&nbsp;&nbsp;

这是我添加到 ReleaseOptionChanged() 脚本中的一些代码。为了确保它有效,我打开了另一个页面。这是我添加到项目中的测试 WebForm:

if(option.id.indexOf('OtherSpecialRelease') > -1 && option.checked) {
                   document.getElementById(clientIDLineItemPage+'txtOtherSpecialReleaseDesc').disabled = false;
                   var popUpObj = window.open('Test.aspx', 'ModalPopUp', 'toolbar=no,' + 'scrollbars=no,' + 'locations=no,' + 'statusbar=no,' + 'menubar=no,' + 'resizable=no,'
                                            + 'width=100,' + 'height=100,' + 'left=490,' + 'top=300');
                   popUpObj.focus();
                   LoadModalDiv();
            }

有效 - 只要用户选中单选按钮,新的 window 就会成功打开。我也可以修改位置。但这是一个丑陋的解决方案。我更愿意在页面中央打开一个模式或更简单的东西,让用户知道 "These are the requirements" 和一个简单的 OK 按钮,他们可以用它来确认他们阅读了要求。 JavaScript 有内置的方法吗?我宁愿避免加载 JavaScript 或 JQuery 文件。它不必是花哨的模态或形式。只要它可以在同一页面上打开,而无需打开另一个选项卡或 window 并且无需将用户重定向到另一个页面,那就太好了。

感谢您的任何建议。

在发布我的问题之前,我阅读了更多内容并进行了更多修改,发现 JavaScript 有一个非常好的 built-in 函数,称为 alert()。毫无疑问,有经验的人都知道,但对于像我这样可能正在互联网上寻找类似任务帮助的新手,请尝试这样的事情:

if(option.id.indexOf('OtherSpecialRelease') > -1 && option.checked) {
                    document.getElementById(clientIDLineItemPage+'txtOtherSpecialReleaseDesc').disabled = false;
                    alert('test');
                }

所以重申一下,如果您有单选按钮或某种可以选中或选择的按钮...并且如果您需要向用户发出通知以向他们提供有关该按钮的其他信息或先决条件,您可以将一些 javascript 合并到后面的代码中并使用 javascript 的警报功能。它会在同一页面上显示您的通知。

不过,这种方法可能存在一个缺点 - 您似乎无法编辑页面标题。根据我的阅读,您必须尝试覆盖 Alert 函数或使用导入的 javascript 文件中的模态。如果我的解决方案不被我的经理接受,因为警报功能的默认标题,我将努力添加自定义模式,然后更新此答案以包含该选项。