function showDialog(id) {
        art.dialog.open('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID="'+id+'"}) %>', { title: '公告明细' });
    }这样不可以,bulltinID="'+id+'"改成定值就可以function showDialog(id) {
        art.dialog.open('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID=26}) %>', { title: '公告明细' });
    }请教怎么改成参数id,thks

解决方案 »

  1.   

    明显是jsp页面java代码生成后的字符串。在页面右键,看看是不是生成正确。
      

  2.   

    =Url.Action是服务器端的代码, id是客户端代码中的,两者没有关系,客户端函数调用的时候,服务器端代码已经执行完毕了。
      

  3.   


    e...抱歉,一看<%= %>这玩意,还以为只在jsp里有不过你的代码里咋还带着 “[color=#FF0000]”??? 他没有被引号引起来。
      

  4.   

    没有完全明白楼主的意思,看看下面是不是你要的结果。
    function showDialog(id) {
            alert('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID='+id+'}) %>', { title: '公告明细' });
        }
    也就是把bulltinID="'+id+'"改成bulltinID='+id+'
      

  5.   

    嗯,就是new {bulltinID=定值})可以,bulltinID='+id+'  / bulltinID="'+id+'"都不行
      

  6.   

    用ajax把客户端的东西发到服务器再处理
      

  7.   

    在源码格式里就不要用加红了,显示不正常,反倒乱了。function showDialog(id) {
            art.dialog.open('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID="\'+id+\'"}) %>', { title: '公告明细' });
        }
      

  8.   

    上面漏了,这样:
    function showDialog(id) {
      art.dialog.open('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID="\''+id+'\'"}) %>', { title: '公告明细' });
      }
      

  9.   

    可为什么跳不到BulltinDetails 这个action里面去呢?firebug调试说showDialog这个找不到,单独注释掉art.dialog.open... ,只alert(id)就可以
      

  10.   

    源代码:
    art.dialog.open('/Buyers/BulltinDetails?bulltinID=''%20%2B%20id%20%2B%20''', { title: '公告明细' });
    多了几个单引号
    我就是想直接bulltinID=4这样不需要引号的
      

  11.   

    var a="ghgfh";
    alert('"'+a+'"');
      

  12.   

    既然是这样,你原来的bulltinID="'+id+'"}
    就不要加双引号嘛,直接下面这样function showDialog(id) {
      art.dialog.open('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID='+id+'}) %>', { title: '公告明细' });
      }
      

  13.   

    才注意一下你整个语句。
    function showDialog(id) {
      art.dialog.open('<%=Url.Action("BulltinDetails","Buyers",new {bulltinID="'+id+'"}) %>', { title: '公告明细' });
      }你这是在JS里传进的ID,然后想在后台程序里接收到ID去调用ACTION。
    你这本身就大错特错了,前台只能通过AJAX即时调用后台,而不可能象你这样在JS里直接调用后台程序。
    后台是先于前台运行完毕的,运行完之后才产生HTML和JS,它们传到客户机器上运行。那个时候JS早就够不着后台程序了。
      

  14.   


    你怎么知道人家不是在初始化的时候呢。这样写是正确的。没有错误。但是当ispostback的时候,就不可以再次动态使用了。
    就是说这个是在page_laod之后,的reander事件之后就一起初始化好了,以后是不会变的。除非重新reload。
      

  15.   

    改成art.dialog.open("<%=Url.Action('BulltinDetails','Buyers',new {bulltinID='+id+'}) %>", { title: '公告明细' });试试
      

  16.   

    右键查看源代码 或者 firebug 看生成的代码是什么样的?然后再有针对性的来修改