0

基本上,我有一個從父窗口打開的新窗口中的gridview。它有一堆記錄和一個查看按鈕來查看每條記錄的細節(保留在同一個新打開的窗口中)。我在父窗口中有一個日曆,它接受一個Date querystring參數來在頁面加載時設置日曆上的當前日期。我只是想刷新父窗口中的日曆以匹配新打開的窗口中的標籤日期。將參數作爲文本傳遞給.NET代碼隱藏的JavaScript函數

下面的所有代碼都在新打開的窗口中。下面的.Net代碼涉及點擊該視圖按鈕並填充所有內容。最後,我調用js刷新父窗口,並將LabelScheduleDate的值作爲querystring參數傳遞。現在標籤在代碼隱藏中以'03/25/2010'的形式出現,但是當我將它傳遞給js時,它在最後的查詢字符串中以'0.00005970149253731343'的形式出現。我不確定是什麼讓價值變化,我想通過它作爲只是文本。我是否需要將它作爲字符串對象傳遞?我試過了,但我認爲我沒有做對。

謝謝。

JavaScript函數

function RefreshParent(inputDate) { 
    window.opener.location = window.opener.location + "?Date=" + inputDate; 
} 

.NET代碼隱藏

Protected Sub RadGridOnlineRequests_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridOnlineRequests.ItemCommand 

    If e.CommandName = "ViewOnlineRequest" Then 

     ' populates LabelScheduleDate among other controls values 
     ScriptManager.RegisterStartupScript(_ 
     Me, Me.GetType(), "clientScript", "RefreshParent(" & LabelScheduleDate.Text & ");", True) 

    End If 

End Sub 

回答

1

所有你需要做的僅僅是爲了確保您的渲染腳本將結束與周圍的文字引號:

RefreshParent('" & LabelScheduleDate.Text & "'); 

如果LabelScheduleDate.Text的值爲「03/25/2010」,則將解析爲

RefreshParent('03/25/2010'); 

...而你的代碼就已經決心

RefreshParent(03/25/2010); 

...這將意味着RefreshParent接收3除以25除以2010

+0

哈,完全忽略了。謝謝! – ryanulit 2010-03-23 14:45:35

相關問題