本帖最后由 jojoova 于 2011-07-15 14:25:04 编辑

解决方案 »

  1.   

    javascript:__doPostBack就是用来触发服务器执行click事件的,
      

  2.   

    传值部分放在aspx.cs的lickbutton_click事件里
      

  3.   

    前台                                
    <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton1" OnCommand="LinkButton1_Clicked" runat="server" CausesValidation="False"
                                            Text='<%# Eval("bmm") %>' CommandArgument='<%# Eval("bmh") %>'></asp:LinkButton>
                                    </ItemTemplate>
    后台
            string bmh;
            bmh = (e.CommandArgument.ToString()).ToString();
            string script1 = "<script language=\"javascript\">\n" +
            "<!--\n" +
            "var rtn;\n" +
            "rtn=" + bmh + ";\n" +
            "alert(rtn);\n" +
            "window.returnValue=rtn;\n" +
            "window.close();\n" +
            "//-->\n" +
            "</script>";
            Response.Write(script1);
      

  4.   

    这种情况,不需要后台事件了,直接用js多好<ItemTemplate>
        <a href="javascript:ReturnValueToParent('<%# Eval("bmh") %>');" ><%# Eval("bmm") %></a>
      </ItemTemplate><script type="text/javascript">
    function ReturnValueToParent(bmh)
    {
        alert(bmh);
        window.returnValue=bmh;
        window.close();
    }</script>
      

  5.   

    <asp:LinkButton ID="LinkButton1" OnCommand="LinkButton1_Clicked" runat="server" CausesValidation="False"
      Text='<%# Eval("bmm") %>' CommandArgument='<%# Eval("bmh") %>'></asp:LinkButton>没看见click事件
      

  6.   

    我按你的做了,还是找不到服务器javascript:ReturnValueToParent('307');啊
      

  7.   

    把原先的linkbutton注释掉了
     <asp:TemplateField ShowHeader="False">
                                    <ItemStyle Font-Size="Small" BorderColor="Silver" BorderStyle="Solid" BorderWidth="1px" Width="350px" />
                                    <HeaderStyle Font-Size="Small" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" />
    <%--                                <ItemTemplate>
                                        <asp:LinkButton ID="LinkButton1"   OnCommand="LinkButton1_Clicked" runat="server" CausesValidation="False"
                                            Text='<%# Eval("bmm") %>' CommandArgument='<%# Eval("bmh") %>'></asp:LinkButton>
                                    </ItemTemplate>--%>
                                    <ItemTemplate>
        <a href="javascript:ReturnValueToParent('<%# Eval("bmh") %>');" ><%# Eval("bmm") %></a>
      </ItemTemplate>
    </asp:TemplateField>然后head部加上 
    <script type="text/javascript">
        function ReturnValueToParent(bmh)
        {
            alert(bmh);
            window.returnValue=bmh;
            window.close();
        }</script>
      

  8.   

    head标签里加上 <base target="_self" />
      

  9.   

    改成这样呢:
    <a href="#" onclick="ReturnValueToParent('<%# Eval("bmh") %>');"><%# Eval("bmm") %></a>
      

  10.   

    帮oj 补充下showModalDialog 打开的页面 head 中加上<base target="_self">
      

  11.   

    或者在超链接里加
    <a href="#" onclick="ReturnValueToParent('<%# Eval("bmh") %>');" target="_self"><%# Eval("bmm") %></a>
      

  12.   

    奇怪,为什么加上了<base target="_self">还是会弹出新的窗口