在CS页面中如何调用JS脚本?

解决方案 »

  1.   

    根据页面的生命周期是不可能在CS端访问JS脚本的。
      

  2.   

     Response.Write("<script>window.alert('修改密码失败!')</script>");
    Button1.Attributes.Add("onclick", "if(!confirm('警告:会被删除掉,继续吗?'))   return   false;");
      

  3.   

    在CS页面中如何调用JS脚本?
    我估計你的意思是說  調用外面的JS文件。
    這個本身好像不能實現。
    能實現的只能手動寫腳本
    如:C#的
    <%@ Page Language=”C#” %>
    <script runat=”server”>
    protected void Page_Load(object sender, EventArgs e)
    {
    string myScript = @”function AlertHello() { alert(‘Hello ASP.NET’); }”;
    Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
    “MyScript”, myScript, true);
    }
    </script>
    vb.net的
    <%@ Page Language=”VB” %>
    <script runat=”server”>
    Protected Sub Page_Load()Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim myScript As String = “Function AlertHello()function AlertHello() { alert(‘Hello ASP.NET’); }”
    Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), “MyScript”, _
    myScript, True)
    End Sub
    </script>
    <html xmlns=”http://www.w3.org/1999/xhtml” >
    <head runat=”server”>
    <title>Adding JavaScript</title>
    </head>
    <body>
    <form id=”form1” runat=”server”>
    <div>
    <asp:Button ID=”Button1” Runat=”server” Text=”Button”
    OnClientClick=”AlertHello()” />
    </div>
    </form>
    </body>
    </html>當然還有其他的方法。這就不一一道來了。
      

  4.   

    注:Response.Write  這個在VS 2005下建議不要使用。因為它會破壞WEB標準。
      

  5.   

    <script language="javascript" type="text/javascript"> 
                function   searchEnter() 
                { 
                        if(13==event.keyCode) 
                        { 
                                event.returnValue=false; 
                                event.cancel   =   true; 
                                document.getElementById('<%=Button1.ClientID%>').click(); 
                        } 
                } 
                function init()
                {
                    document.getElementById("TextBox1").scrollTop = document.getElementById("TextBox1").scrollHeight;
                }
        </script>这个是为了让一个Textbox的滚动条保持在最下面,但是当我用Ajax把Textbox用于动态刷新了之后,这个函数的调用就出现了问题。因为是在<body onload="init();">中调用,所以静态刷新的时候不激发这个动作。
      

  6.   

    动态刷新之后?应该有个js代码来调用后台的ajax方法吧,在这js代码之后调用init不行么?
      

  7.   

    还有个方法。你把init不放到onload中,放到<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" onpropertychange="init()" 明白?
     function init()
        {
            if(event.propertyName=="value")
            {
                 document.getElementById("TextBox1").scrollTop   =   document.getElementById("TextBox1").scrollHeight;         }
        }
      

  8.   

    因为是用ajax控件实现动态刷新的,所以没办法在JS代码之后调用。
    onpropertychange="init()"   。textbox在页面中好像没有这个方法啊....
      

  9.   

    因为是用ajax控件实现动态刷新的
    ---
    总有事件吧。前台后台
      

  10.   

    这样啊...那我再去试试。
    textbox在CS中有没方法直接让滚动条一直居下方?
    如果有那就比弄JS快多了啊.....
      

  11.   

    恩...是啊,继续改JS,实在不行就要去改Ajax的源码了...
    谢谢了~~
      

  12.   

    这设计不太合理,但也不是不能实现.
    下面演示代码,当点击button1时,回发到服务端,页面返回时,会执行客户端脚本方法setText
    文件名:defautl3.aspx
    .aspx
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %><!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>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1"
                runat="server" Text="Button" OnClick="Button1_Click" />
        </div>
        </form>
        <script type="text/javascript">
        if(invoke!=null)
            setText();
        function setText(){
            document.getElementById("<%=TextBox1.ClientID %>").value="set by client script function";
        }
        
        </script>
    </body>
    </html>.cs
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Default3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string js = "<script>var invoke=true;</script>";
            ClientScript.RegisterClientScriptBlock(this.GetType(), string.Empty, js);
        }
    }┍┥CSDN竹子专享签名功能┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
    │◆如果问题解决,请结贴,谢谢!                                               │
    │◆不知道怎么结贴?请单击我。                                                │
    │◆如有仍有其它问题,请继续顶贴。                                              │
    │◆表跟竹子要QQ,不开QQ已经好几年了,改用GOOGLE TALK。                            │
    ┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
      

  13.   

    有谁知道的请也告诉我 这个问题我也有点模糊啊
    请大家帮助我啊
    一个js脚本怎么应用的到cs文件中并且怎么应用啊
      

  14.   

    Page.ClientScript.RegisterStartupScript(this.GetType(),"open",js脚本);