ASP.NET编程模型:RegisterStartupScript向页面注册脚本

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="WebParts_Default3" %>

<%@ Register Src="SelectPro.ascx" TagName="SelectPro" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>无标题页</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div onclick='test()'>
        
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
        
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
    
</div>

    
<script type="text/javascript">
    
function test()
    {
    alert(
'<%= TextBox1.ClientID %>');
    
    }
    
    
    
</script>

    
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class WebParts_Default3 : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        Set1();
//或Set2();
    }

    
public void Set1()
    {
        
string script = "";
        
for (int i = 0; i < Page.Form.Controls.Count; i++)
        {
            
if (Page.Form.Controls[i] is TextBox)
            {
                TextBox txt 
= Page.Form.Controls[i] as TextBox;
                txt.Attributes.Add(
"onclick", txt.ClientID + "_Show()");
                txt.Style.Add(HtmlTextWriterStyle.BackgroundColor, 
"yellow");
                script 
+= "function " + txt.ClientID + "_Show(){alert('" + txt.ClientID + "');};";
            }
        }
        Page.ClientScript.RegisterStartupScript(
this.GetType(), "script""<script>" + script + "</script>");
    }

    
public void Set2()
    {
        
string script = "";
        
for (int i = 0; i < Page.Form.Controls.Count; i++)
        {
            
if (Page.Form.Controls[i] is TextBox)
            {
                TextBox txt 
= Page.Form.Controls[i] as TextBox;
                txt.Attributes.Add(
"onclick""Show('" + txt.ClientID + "')");
                txt.Style.Add(HtmlTextWriterStyle.BackgroundColor, 
"red");

                script 
= "function Show(id){alert(id);};";
            }
        }
        Page.ClientScript.RegisterStartupScript(
this.GetType(), "script""<script>" + script + "</script>");
    }
}
原文地址:https://www.cnblogs.com/qixuejia/p/1756943.html