.net中的一個menu控件。
發現url不刷新,葉面不會更新。于是想用javascript生成一個日期傳入。以便不斷更新url中的一個參數。關鍵在于: menu全部在cs代碼中生成。 mnuFirst = new MenuItem();
mnuFirst.Text = "Meetings"; mnuSecond = new MenuItem();
mnuSecond.Text = "Meeting Booking";
mnuSecond.NavigateUrl="NewCase.aspx?datet=getMyDate();";
mnuSecond.Target="frmMain";
mnuFirst.Items.Add(mnuSecond);
------------------------------------------------------
我寫的  getMyDate()  javascript函數被葉面當成了字符串 "getMyDate()"另外: 我無法用伺服器端時間。
   我用了框架頁,所以menu很少重新生成一次。所以不想用server端的C#代碼時間(這樣沒有作用,除非框架全刷新了。)。 急需高手幫忙

解决方案 »

  1.   

    用随机数好了,看看这个例子
    <script>document.write("<img id=newimg src='NewCase.aspx?",Math.random(),"'>")</script>
      

  2.   

    <script>
    function refreshimg()
    {
    document.all.newimg.src="http://freeqq3.qq.com/getimage?"+Math.random();
    }
    </script>
      

  3.   

    問題主要是每次點菜單時都是一個新的隨機數。并不是如何產生這個數,就是如何在.cs代碼中
    mnuSecond.NavigateUrl="NewCase.aspx?datet=getMyDate();";

    getMyDate()編譯為javascript函數,而不是“getMyDate()”字符串
      

  4.   

    你的getMyDate()是服务端函数还是客户端函数?如果是服务端得这样写:  .NavigateUrl="NewCase.aspx?datet="+getMyDate().ToString();如果是客户端函数这种做法应该是行不通的,楼主应该了解服务端与客户端的本质区别。不太明白你在写的是什么功能,按看到的代码理解,如果是要在服务端获取客户端函数生成的值,并根据这个值来设置MENU控件中的属性,你可以把客户端函数的值以参数形式传给服务端,然后再在服务端作处理。
      

  5.   

    你的getMyDate()是是客户端函数.你可以把客户端函数的值以参数形式传给服务端,然后再在服务端作处理。
    -----------------------------
    那不是需要重新生成菜單。主frame需要更新.
      

  6.   

    这样试验一下:
    mnuFirst = new MenuItem();
    mnuFirst.Text = "Meetings";mnuSecond = new MenuItem();
    mnuSecond.Text = "Meeting Booking";
    mnuSecond.NavigateUrl="NewCase.aspx?datet=" + eval("getMyDate()");
    mnuSecond.Target="frmMain";
    mnuFirst.Items.Add(mnuSecond);
      

  7.   

    mnuSecond.NavigateUrl="NewCase.aspx?datet=eval('getMyDate()')";
      

  8.   

    mnuSecond.NavigateUrl="NewCase.aspx?datet=eval('getMyDate()')";
    -------------------------
    還是報告錯誤 javascript錯誤,葉面不出來。          
    報告錯誤:必須要有')'
    不過沒把“getMyDate()”當作字符串。frame中在ie上運行后的源文件生成了javascript如下:
    var NickLee_Storage_mnuClass=[
    ['p8',6,[],1,0,,,,'NewCase.aspx?op=New&datet=eval(\'getMyDate()\')','frmMain',,'New Meeting'],['p9',6,[],1,0,,,,'MeetingVerifyList.aspx','frmMain',,'Meeting Approve']
    ]
      

  9.   

    下面这样试试。。
    mnuSecond.NavigateUrl="NewCase.aspx?datet=\"+eval(\"getMyDate()\")+\"";