我在ListView中这么写:<asp:LinkButton ID="btn_memo" runat="server" Text="备注" OnClientClick="UpdateMemo(<%#Eval("ROOM_ID")%>)"></asp:LinkButton>结果不对···求教下···应该怎么调用UpdateMemo,参数为数据源中的room_id

解决方案 »

  1.   

    <asp:LinkButton ID="btn_memo" runat="server" Text="备注" OnClientClick='UpdateMemo(<%#Eval("ROOM_ID")%>)'></asp:LinkButton> 
    OnClientClick双引改单引
      

  2.   


    经过测试:
    html标签<input type="button" id="btnal" onclick='UpdateMemo(<%#Eval("ROOM_ID")%>)' value="备注" />这个是可以调用到!!!!可是linkbutton调用不了吗????继续在线等解答
      

  3.   

    linkbutton是带有post事件的,要加return 才行OnClientClick='return UpdateMemo(<%#Eval("ROOM_ID")%>)'
    function UpdateMemo(..)
    {
    ...
    return false;
    }
      

  4.   


    <asp:LinkButton ID='<%#Eval("ROOM_ID")%>' runat="server" Text="备注" OnClientClick="UpdateMemo(this)"></asp:LinkButton>
      

  5.   


    还是不行····那就看看UpdateMemo的代码,可能里面有错误的js脚本还有如果没有必要的话,不要使用linkbutton,直接用<a>标签代替
      

  6.   

    其实你可以看一下解析源码,直接在aspx中如上写的话,引号会被编码,同时绑定字段也无法正常解析,可以通过后台操作来进行处理,如下,添加事件操作
     protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
            {
                LinkButton lb = e.Item.FindControl("LinkButton1") as LinkButton;
                string script_str = "return confirm('你确实要删除ID为{0}的记录么?');";
                lb.OnClientClick = string.Format(script_str, DataBinder.Eval(e.Item.DataItem, "Stu_Id").ToString());
            }
      

  7.   


     <asp:LinkButton ID="btn_memo" runat="server" Text="备注"  OnClientClick=<%# "return UpdateMemo('" + Eval("ROOM_ID") + "')" %> ></asp:LinkButton>