c# - 在 ASP.NET 页面加载时运行 JavaScript 代码

标签 c# .net asp.net javascript

我有一个单选框 <asp:RadioButtonList CssClass="list" Style="width: 150px" ID="rdo_RSD_ExcerciseRoT" runat="server" Font-Bold="false" RepeatDirection="Horizontal" RepeatLayout="Table" TextAlign="Left" > <asp:ListItem Text="Yes" onclick="en();" Value="Y"></asp:ListItem> <asp:ListItem Text="No" onclick="dis();" Value="N" Selected="True"></asp:ListItem> </asp:RadioButtonList>

您可能会看到默认情况下选择了第二个列表项。但问题是,当我的页面加载时 dis()没有被调用。我想跑 dis()也在页面加载上。

我试过谷歌,一些博客建议使用 Page.RegisterStartupScript Method 。但我不完全知道问题是什么以及为什么我们应该使用上述方法。如果有人请告诉我为什么没有调用此函数以及如何调用它,我将不胜感激。

编辑:如果有帮助,我也会提供 Javascript 代码。

    <script type="text/javascript">
    function dis()
    {
        ValidatorEnable(document.getElementById('<%=RequiredFieldValidator32.ClientID%>'), false);
    }

    function en()
    {
        ValidatorEnable(document.getElementById('<%=RequiredFieldValidator32.ClientID%>'), true);
    }


</script>

最佳答案

默认列表项默认为 SET。他们不会在页面加载时点击以选择它们。所以这就是为 OnClick 定义的函数没有被调用的原因。

您可以包含一个脚本 - 调用 dis() 的标记,也可以使用 RegisterStartupScript。

脚本标签看起来像:

<script type="text/javascript">
  dis();
</script>

并且必须包含在页面的 html 源代码中。

RegisterScriptControl 在内部执行此操作。它还可以选择收集多个启动脚本调用并将它们呈现在单个脚本标记中。

关于c# - 在 ASP.NET 页面加载时运行 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2910278/

相关文章:

c# - IQueryable 扩展方法成为表达式

.net - 为什么此计时器不会在 .net 服务应用程序中启动?

asp.net - 数据库隔离模型

c# - 包含内容的 Web 用户控件

c# - FileOpenPicker PickSingleFileAsync 抛出 UnauthorizedAccessException

c# - 如何在 C# 中使用 List<string> 传递属性参数类型?

c# - 获取超时已过期。在从池中获取连接之前超时期限已过。 。异常(exception)

c# - 如何进行端口转发?

c# - 从 GUID 获取类型

asp.net - 多环境.NET Core