我先贴出我的部分代码吧 <script language="javascript" type="text/javascript">
    function change();{
     var pass=document.getElementById("pass").value;
     var name=document.getElementById("name").value;
     document.getElementByName("name").value=name;
   ----但是这地方的pass需要进行MD5加密后将值给到名为pass的hidden控件!
   最后将form2 post
     document.forms["form2"].submit;
    }
    </script>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
        <asp:TextBox ID="name" runat="server"></asp:TextBox>
        <asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
        <asp:TextBox ID="pass" runat="server"></asp:TextBox>
        
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click"  OnClientClick="change();" Text="Button" />
     </div>
    </form>
    <form id="form2" method="post" action="">
      <input type="hidden" "name="name" value="<% =name%>" />
      <input type="hidden" name="pass" value="<% =pass1%>" />
   
    </form>
</body><script type="text/C#">public string md5(string str,int code)
{
 if(code==16) //16位MD5加密(取32位加密的9~25字符)
 {
 return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
 } 
 else//32位加密
 {
 return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
 } 
}
</script>首先我想通过我的Button1  触发OnClientClick事件  调用JS中的change()方法  具体的大家可以看我的代码中解释 请问可以实现吗?

解决方案 »

  1.   

     OnClick="Button1_Click"  OnClientClick="change();" 
    charge中有submit,OnClick也会回传,没试过会不会有问题.
      

  2.   

    所有的工作都可以在后台C#代码中来做,干吗还要调用js脚本呢
    你放置一个服务端的HiddenField 
    在Button1的事件OnClick="Button1_Click"中设置HiddenField 的值部就可以了吗
      

  3.   

    不要用两个click
    asp:Button ID="Button1" runat="server" OnClick="Button1_Click"   Text="Button" />
    在后台pageload里
    加上
     Button1.Attributes.Add("onClick", "change()")
      

  4.   

    这样说吧!   OnClick事件 我是不能改动的它是有其自身作用的
      

  5.   

    你要调用服务器端方法去加密客户端取得的字符串,需要使用ajax
      

  6.   

    <script language="javascript" type="text/javascript">
        function change();{
         var pass=document.getElementById("<%=pass.ClientID%>").innerHTML;
         var name=document.getElementById("<%=name.ClientID%>").innerHTML;
         document.getElementByName("<%=name.ClientID%>").innerHTML=name;
        这里可以用Ajax调用后台的加密方法再把值给pass
        服务器控件不能直接用document.getElementByID("pass")
        要用得到客户端形式来的到:document.getElementById("<%=pass.ClientID%>").innerHTML=加密后的poss;
       ----但是这地方的pass需要进行MD5加密后将值给到名为pass的hidden控件!
       最后将form2 post
         document.forms["form2"].submit;
        }
        </script>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
            <asp:TextBox ID="name" runat="server"></asp:TextBox>
            <asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
            <asp:TextBox ID="pass" runat="server"></asp:TextBox>
            
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click"  OnClientClick="change();" Text="Button" />
         </div>
        </form>
        <form id="form2" method="post" action="">
          <input type="hidden" "name="name" value="<% =name%>" />
          <input type="hidden" name="pass" value="<% =pass1%>" />
       
        </form>
    </body><script type="text/C#">public string md5(string str,int code)
    {
     if(code==16) //16位MD5加密(取32位加密的9~25字符)
     {
     return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
     } 
     else//32位加密
     {
     return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
     } 
    }
    </script>
      

  7.   

    如果可以,直接用html按钮多好用啊。
      

  8.   

    你js中哟加密的方法
    就直接掉了
    不需要用ajax了
      

  9.   

    也可以使用js MD5加密,不过代码比较长
    http://www.cnblogs.com/backuper/archive/2009/01/05/1368950.html
      

  10.   

    哎 如果是用ajax的话还是不行  因为后台已经全部加密过了 我所能的仅仅是修改前台的代码!!
      

  11.   

    晕,直接用  js 加密下 MD5 就好了
      

  12.   


    <body>
        <form id="form1" runat="server">
        <div>
        <asp:Label ID="Label1" runat="server" Text="请输入姓名:"></asp:Label>
            <asp:TextBox ID="name" runat="server"></asp:TextBox>
            <asp:Label ID="lblPass" runat="server" Text="请输入密码:"></asp:Label>
            <asp:TextBox ID="pass" runat="server"></asp:TextBox>
            
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click"  OnClientClick="javascript:document.getElementById(sub).click" Text="Button" />
         </div>
        </form>
        <form id="form2" method="post" action="">
          <input type="hidden" "name="name" value="<% =name%>" />
          <input type="hidden" name="pass" value="<% =pass1%>" />
       <input type=button id=sub onclick=change()display=none/>
        </form>
    </body>
      

  13.   

    OnClick="Button1_Click"  OnClientClick="return change();"
    change()返回true就执行Button1_Click,否则终止执行
      

  14.   

    http://www.cnblogs.com/tengs2000/articles/1177740.html
      

  15.   

    有阿
    Javascript调用类中的方法 
      
     在Javascript中调用aspx.cs中的方法,但是如果方法写在一个单独的类库中好像就不行了function gg(){    var b=document.getElementById("<%=TextBox4.ClientID %>").value;    var a='<%=GetName("'+b+'") %>';//OK    //var a="<%=GetName('"+b+"') %>";//Error    
        alert(a);}但是不知道怎么回事,上面注释的那句话就报错呢?没有看出什么问题来,如果谁知道给我解释一下啊,谢谢啦方法:    protected string GetName(string s)    {        return "Welcome,"+s;}注意:限制符必须是public或者protected
      

  16.   

    不知道,你要干嘛,感觉挺麻烦的,没有必要 。不过19楼的是正解,加个return 就行
      

  17.   

    其实我这边就是想 能不能在 JS中调用 
    <script type="text/C#">
    ....
    </script>
    中的方法!!  其实就是这么简单
      

  18.   

    运行c#代码,必须数据回发到服务器端,应该用Ajax实现。
    或者你做一个控件嵌入到网页里。