none
gridview中的模板列如何传递参数 RRS feed

  • 问题

  • gridview中有个模板列,放了有个i服务器的imagebutton控件,点击后在新窗口打开窗口,因此要调用客户端方法,参数该如何传递?


    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/xsxxxx.gif"
     OnClientClick="OpenPage('<%# Container.DataItem("UserId") %>')"  />

    OpenPage()是JavaScript方法,这里面的参数怎么写,我这样写好像不对啊。

    2010年11月15日 3:41

答案

  • 你好!

    你的情况用服务端控件会被转义,最好在 RowDataBound 事件中写。如下:

    ((ImageButton)e.Row.FindControl("txtName")).Attributes["onclick"] = "OpenPage(.....);"; //

    或者改用客户端控件。如下:

    <input type="button" value="123" onclick='OpenPage("<%# Eval("UserId")  %>")' />


    知识改变命运,奋斗成就人生!
    2010年11月15日 5:54
    版主

全部回复

  • 你好!

    你的情况用服务端控件会被转义,最好在 RowDataBound 事件中写。如下:

    ((ImageButton)e.Row.FindControl("txtName")).Attributes["onclick"] = "OpenPage(.....);"; //

    或者改用客户端控件。如下:

    <input type="button" value="123" onclick='OpenPage("<%# Eval("UserId")  %>")' />


    知识改变命运,奋斗成就人生!
    2010年11月15日 5:54
    版主
  • OnClientClick='<%# "OpenPage('" + Container.DataItem("UserId") + "')" %>' />
    【孟子E章】
    2010年11月16日 1:11
    版主
  • 孟哥,你这个是理论上的写法吧,实际中不通过。
    2010年11月20日 7:17