c# - 在 asp.net 3.5 中使用 RegisterClientScriptBlock/RegisterStartupScript

标签 c# javascript asp.net

我无法理解它的用途。RegisterClientScriptBlock/RegisterStartupScript。

当我们可以直接在.js文件中写JavaScript代码然后在按钮上调用

例如:2

<script>
    function ReqField1Validator() { 
        if (document.forms[0].txtField1.value == '') {
            alert('TextBox cannot be empty') 
            return false
         } 
         return true 
     } 
</script>

btnPostback.Attributes.Add("onclick","return ReqField1Validator()");

RegisterClientScriptBlock/RegisterStartupScript有什么用?

protected void btnPostback_Click(object sender, EventArgs e)  {
    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    sb.Append(@"<script language='javascript'>");
    sb.Append(@"var lbl = document.getElementById('lblDisplayDate');");
    sb.Append(@"lbl.style.color='red';");
    sb.Append(@"</script>");

    if (!ClientScript.IsStartupScriptRegistered("JSScript")){
        ClientScript.RegisterStartupScript(this.GetType(), "JSScript", sb.ToString());
    }
}

读了几篇文章,但他们不是很清楚。

对此有任何想法都很好。

最佳答案

RegisterStartupScript 用于在页面加载完成后注册和执行 javascript 函数,此 javascript 代码在页面的 onLoad 事件引发之前执行。您可以出于多种原因使用它,例如,您想根据代码中的某些变量值执行任何特定的 javascript 函数。

另一方面,RegisterClientScriptBlock 用于在页面顶部添加脚本 block ,类似地,它为您提供了一种在后台代码中同时使用客户端代码和服务器代码的方法.

关于c# - 在 asp.net 3.5 中使用 RegisterClientScriptBlock/RegisterStartupScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6951451/

相关文章:

c# - FirstOrDefault 是否在 LINQ 中延迟?

c# - 我如何从子页面编辑母版页 div?

c# - 使用触发器更改已绑定(bind)到 View 模型的属性

javascript - Rails 服务器/控制台错误 - 没有要加载的文件 - CoffeeScript (LoadError)

javascript - 将 Canvas 弧划分为 364 天

c# - 如何在 Javascript 中以编程方式打开 IE9 兼容性 View

c# - 如何在 ActionFilterAttribute 的 OnActionExecuting 中区分 C# 中的两个 rest 调用

c# - 在新 TAB 中打开 URI (Silverlight)

javascript - Angular 1.6.1 '&' 绑定(bind)问题

c# - ascx 中的悬停表