小弟刚接触web编程,正在学asp.net和javascript,想知道可不可以在javascript的函数中调用asp.net的方法?
例如:做一个登录页面,输入用户名密码等信息后,先利用javascript函数验证输入的合法性,之后用asp.net进行数据库的访问?

解决方案 »

  1.   

    js要调用后台的方法用ajax....你说的例子在2005中可以这样做
    给个例子
     <asp:Button ID="ReplyButton" runat="server" Text="回复消息" OnClientClick="ReplyMessage()"
                      OnClick="ReplyButton_Click" />js中验证:
    <script type="text/javascript" language="javascript">
       function ReplyMessage()
       {
        var Content=document.getElementById("Content"); 
        if( Content.value=="")
        {
         alert("请您输入回复的内容");
         return false;
        }
        return true;
       }
      </script>后台服务器中验证
     protected void ReplyButton_Click(object sender, EventArgs e)
      {
    //
        
      }
      

  2.   

    当然用传说中的Ajax,呵呵
    if (!Page.IsPostBack)
    {
    Ajax.Utility.RegisterTypeForAjax(typeof(usermanager_photoNewPri));
    }[Ajax.AjaxMethod()]
    public DataSet GetByType(int photoTypeId)
    {
    DataSet ds = bll.GetByUserType();
    return ds;
    }然后在前台Javascript中调用
      

  3.   

    谢谢楼上诸位,AJAX不会用阿,
      

  4.   

    从原理上来说,JAVASCRIPT是不能调用ASP.NET中的方法的,因为代码运行的位置都不一样,一个是在CLIENET。一个是在SERVER,所以这样的理想是不可能实现的。但是我们可以把ASP.NET里的方法虚拟的生成为JAVASCRIPT代码(AJAX就是运用这个原理),那么在CLIENT上,就可以使用JAVASCRIPT来调用了。JAVASCRIPT是可以返回接受ASP.NET里的变量的。
      

  5.   

    在后台写一个函数Valid()
    在Javascript中也可以调用
    <script>
    var success = <% Valid() %>
    </script>
      

  6.   

    onclick="javascript:<%= this.ClientName %>_SetDisplay(true);"
      

  7.   

    请问var success = <% Valid() %> 中的Valid() 必须是怎样的函数?有什么要求么,刚才试了下不行啊
      

  8.   

    document.getElementById("btnJs").click();btnJS为服务器按钮控件这样就可从JS中访问后台的服务器按钮事件了