当前位置:编程学习 > C#/ASP.NET >>

HTML控件如何才能调用到后台的方法??

页面上有个<input type="button">控件,如何才能在后台.cs代码页面写这个控件的ServerClick方法啊? --------------------编程问答-------------------- <input type="button" runat="server" id="btn01" onclick="btn10_Click">

cs:
 protected void btn10_Click_Click(object sender, EventArgs e)
        {

} --------------------编程问答-------------------- 楼上的瞎讲 --------------------编程问答-------------------- AJAX

楼主首先下载Ajax.NET   Professional  
1添加引用   AjaxPro
2配置Web.config
<system.web>
  <httpHandlers>
      <add   verb= "POST,GET "   path= "ajaxpro/*.ashx "   type= "AjaxPro.AjaxHandlerFactory,AjaxPro.2 "/>
  </httpHandlers>
</system.web>
3修改服务端方法,使用[AjaxPro.AjaxMethos]进行申明
4在相应的CS文件中的Page_Load方法中注册客户端JS要调用Ajax方法
AjaxPro.Utility.RegisterTypeForAjax(typeof(类名)); 
--------------------编程问答-------------------- 2楼的不行呀,我是要调用后台的ServerClick方法 --------------------编程问答-------------------- <input type="button" runat="server" id="btn01" onserverclick="btn10_Click">
我记得是这样。 --------------------编程问答-------------------- --------------------编程问答-------------------- 呵呵,上次有高人教我个方法: 

对于
<asp:PlaceHolder ID="PlaceHolder1" runat="server"> 
    <input type="button" id="abc" runat="server" value="Click Me" /> 
</asp:PlaceHolder> 


你可以在后台Page_Load或者Page_PreRender等事件中设置断点,然后调试或者打印 

  
this.PlaceHolder1.Controls.Count 
  this.PlaceHolder1.Controls[0].GetType().Name 
可以看到它是一个 HtmlInputButton 类型的控件。然后你就可以根据这类控件的定义去写代码。例如从类型定义上看显然,它支持ServerClick事件,所以你可以在声明时在事件名前边加上“on”(这是asp.net编译器默认的机制),成为:HTML code 
<asp:PlaceHolder ID="PlaceHolder1" runat="server"> 
    <input type="button" id="abc" runat="server" value="Click Me" onserverclick="abc_clicked" /> 
</asp:PlaceHolder> 

protected void abc_clicked(object sender, EventArgs e) 

    。。。。。。 
--------------------编程问答-------------------- 只能用ajax 实现 --------------------编程问答-------------------- 有办法的,我记得是丢一个服务器的button,然后给他设置某个属性,然后再丢一个html控件,具体你百度一下就知道了 --------------------编程问答--------------------
引用 6 楼 mrlen 的回复:


这个和小虎的好用,楼主速来结贴。 --------------------编程问答-------------------- 1.添加ajaxPro 的引用 (我资源上有,ajaxPro)

2.在<system.web>配置节点下添加
  <httpHandlers>
   <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
  </httpHandlers>

3。在Page_load事件下添加

  AjaxPro.Utility.RegisterTypeForAjax(typeof(_drag2));

_drag2是当前页的默认生成的类,如有文件夹,像wwf_drag最好将wwf去掉

4。前台调用后台函数

前台

 _drag2.del(id).value;

后台

   [AjaxPro.AjaxMethod]

    public string del(string str)
    {
     。。。。。。。。。。。
    }

 就OK了!!!



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wwfgu00ing/archive/2010/07/08/5721175.aspx --------------------编程问答-------------------- 二楼的瞎讲,都说了是html控件, 除非用ajax,否则不能再后台写方法 --------------------编程问答-------------------- 必须runat="server" 然后onclick事件里边调用。 --------------------编程问答-------------------- 拖一个 ScriptManager 设置 EnablePageMethods="true" 然后
按钮的点击事件的方法用js或jquery写
<input type="button" id="btn01" onclick="btn10_Click">
比如说
$(document).ready(function(){
    $("#.btn01").click(function(){
       //aa是后台方法的参数,没有则不写
       PageMethods.后台方法名(aa,function(data){
          alert(data);//data就是返回的值
       })
    })
});
后台代码的方法就是按钮需要处理的方法
方法需要加入特性[System.Web.Services.WebMethod]
方法必须是静态的static --------------------编程问答-------------------- 还是不懂,html控件到底怎么在后台写代码呀?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,