js代码:function openwindow(url) {
        window.showModalDialog(url, "Sample", "fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no, copyhistory=no,width=350,height=140,left=200,top=300");
    }
通过控件给url传值
 <asp:LinkButton ID="lbtnRolePower" runat="server" CommandName="Power" OnClientClick="openwindow('<%#GetUrl()%>')" >分配权限</asp:LinkButton>后台方法:        public void GetUrl()
        {
            string url= "NewBox.aspx?RoleId=" +RoleIdToSetPower.ToString(); 
    
        }
为什么js的参数无效?

解决方案 »

  1.   

    showModalDialog这样传不得 open就可以这样传
      

  2.   

    linkButton换成a标签就可以了。
      

  3.   


    <a href="#" id="lbtnRolePower" onclick="openwindow('<%=GetUrl()%>')" >分配权限</a>
      

  4.   

    楼主,你用的LinkButton,但是asp.net在编译的时候,你在服务器控件里写的属性,也就是你写得OnClientClick里面的那些绑定表达式,是不认识的,你可以再后台绑定,也可以使用A标签,
      

  5.   

    OnClientClick=<%# "openwindow('" +  GetUrl() + "');return false;"%> 
      

  6.   

     进来学习。原来A跟linkButton还有这个区别。
      

  7.   

    那就cs里面写啊
    在绑定事件里面写FindControl,然设置OnClientClick属性
      

  8.   

    OnClientClick="openwindow('<%=GetUrl()%>')" 细节问题了。
      

  9.   

      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
      {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
          LinkButton lbtnRolePower = e.Row.FindControl("lbtnRolePower") as LinkButton;
          lbtnRolePower.OnClientClick = "NewBox.aspx?RoleId=" + DataBinder.Eval(e.Row.DataItem,"RoleIdToSetPower").ToString() + ";return false;";
        }
      }
    RoleIdToSetPower就是你数据源中的RoleId字段名称如果不叫这个名字,自己改
      

  10.   

    参数传递:
    1. 要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
    -------------------------------
    parent.htm
    <script>
              var obj = new Object();
              obj.name="51js";
              window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
    </script>
    modal.htm
    <script>
              var obj = window.dialogArguments
              alert("您传递的参数为:" + obj.name)
    </script>
    -------------------------------
    2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
    ------------------------------
    parent.htm
    <script>
              str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
              alert(str);
    </script>
    modal.htm
    <script>
              window.returnValue="http://homepage.yesky.com";
    </script> 
      

  11.   

    http://www.cnblogs.com/Dlonghow/archive/2009/06/04/1496141.html