我在页面CS文件里动态生成一个INPUT类型的BUTTON,功能上的需要我想实现点击此BUTTON响应
服务器端的一个函数,但都不能响应,想请高手给予及时指点.具体代码如下:
//cs文件:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string longstr = "";
longstr += "<input type=\"button\" runat=\"server\" value=\"显示Tip\" id=\"Tip_Show\" name=\"Tip_Show\" style=\"WIDTH:80PX;HEIGHT:21px;\">";
OperWnd.InnerHtml = longstr;
}//我想响应的服务器端函数
private void Tip_Show_ServerClick(object sender, System.EventArgs e)
{
                      //获取服务器端的内容
                      .......
                      
                      //然后再执行客户端一个函数
                       if(!Page.IsClientScriptBlockRegistered("clientScript"))
Page.RegisterClientScriptBlock("clientScript","<script>ShowTip();</script>");                                    }其实我的目的就想通过点此BUTTON先响应服务器端的这个函数,先执行服务器端的一段代码,然后再执行
客户端的,但好象点击根本不能响应这个服务器端的函数,请大家给点意见!!!

解决方案 »

  1.   

    1.傻的方法:可以做一个服务器端的BUTTON  ID="serverBUT"他的事件是Tip_Show_ServerClick
    然后你产生的button加上一个click="a()"
    funtion a()
    {serverBUT.click()}
    2.用ajax方法。也是用js调用服务器端的方法。
    具体的查下资料。。
      

  2.   

    服务器控件在运行时会被编译成html控件的,你写的是字符串,系统不会认为是控件。
    先提供两个解决办法。
    解决办法1:
    new一个button控件,然后添加事件。
    解决办法2:
    response.write一个html button,然后通过js的doPostBack方法回调服务器事件。
      

  3.   

    new一个button和response.write这两种方法我一开始都试过了,但好象都还是响应不了服务器指定的函数,倒是可以提交一次到LOAD里,我想要的效果是一点这个动态生成的BUTTON就直接执行他的服务器指定函数(就象直接双击一个页面静态INPUT型BUTTON产生的ServerClick一样).
      

  4.   

    我必须动态生成,因为我是在别人的基础上添加一个功能,整个页面都是这样生成的.
    不过ajax方法倒可以试试.
    谢谢大家的建议.
      

  5.   

    ajax或者web service都可以啊
      

  6.   

    runat="server"
    是ASPNET的标记,并不是标准的HTML属性标记,所以你这个地方是用不了的建议使用动态添加服务器端控件当然,也可以像一楼说的那样,用AJAX
      

  7.   

    楼上说的ajax或者web service方法能否具体一些,我对ajax不是很熟悉