2014-03-03 87 views
0

如何在javascript中爲radwindow設置navigateurl?如何在JavaScript中爲radwindow設置navigateurl?

我想在我的頁面中使用一個Radwindow,並在兩部分中使用它。

我有一個radwindow,我使用它在2部分。

<telerik:RadWindowManager ID="RadWindowManager1" ShowContentDuringLoad="false" 
       VisibleStatusbar="false" 
     RegisterWithScriptManager="True" 
     EnableShadow="True" ReloadOnShow="true" Width="800px" Height="550px" 
     runat="server"> 
     <Windows> 
      <telerik:RadWindow ID="modalPopup" runat="server" Modal="True" 
     > 
     </telerik:RadWindow> 
</Windows></telerik:RadWindowManager> 

我使用javascript作爲show radwindow。

<telerik:RadCodeBlock runat="server" ID="rdbScripts"> 
     <script type="text/javascript"> 

      function showDialogInitially() { 
       var wnd = $find("<%=modalPopup.ClientID %>"); 
       wnd.show(); 
       Sys.Application.remove_load(showDialogInitially); 
      } 

當我點擊一個按鈕,設置的radwindow = ("DefCall.aspx")Navigateurl,當我點擊另一個按鈕,通過QueryString或其他方式設置navigateurl = ("DefTask.aspx")和過時2值的子頁面。

protected void btnDefCall_Click(object sender, EventArgs e) 
{ 
     string strURL = string.Format("../PhoneCall/DefPhoneCall.aspx 
    ?FormTypeID={0}&FormID={1}", number1,number2); 
    modalPopup.NavigateUrl = strURL; 

    ScriptManager.RegisterStartupScript(Page, GetType(), "PopupScript", string.Format("javascript:showDialogInitially()"), true); 

} 


protected void btnDefTask_Click(object sender, EventArgs e) 
{ 
    string strURL = string.Format("../Task/DefTask.aspx?FormTypeID={0}&FormID={1}", (int)clsHelper.FormType.Lead, int.Parse(Request.QueryString["ID"].ToString())); 
modalPopup.NavigateUrl = strURL; 

    ScriptManager.RegisterStartupScript(Page, GetType(), "PopupScript", string.Format("javascript:showDialogInitially()"), true); 
} 
+0

你嘗試訪問[Telerik的網站(http://demos.telerik.com/aspnet-ajax/window/examples/internalcontent/defaultcs.aspx) –

回答

3

退房的RadWindow API你可以通過JavaScript改變URL這樣

var wnd = $find("<%=modalPopup.ClientID %>"); 
wnd.setUrl("http://www.google.com"); 
0

您可以使用window.radopen。唯一的技巧是你需要使用pageLoad這是等到RadWindow完全加載。

protected void btnDefTask_Click(object sender, EventArgs e) 
{ 
    var script = string.Concat(
     "function pageLoad() { showDialogInitially('", 
     "http://www.telerik.com", 
     "'); }"); 

    ScriptManager.RegisterStartupScript(Page, GetType(), 
     "PopupScript", script, true); 
} 

<telerik:RadWindowManager 
    ID="RadWindowManager1" 
    ShowContentDuringLoad="false" 
    VisibleStatusbar="false" 
    RegisterWithScriptManager="True" 
    EnableShadow="True" 
    ReloadOnShow="true" 
    Width="800px" Height="550px" 
    runat="server"> 
     <Windows> 
     <telerik:RadWindow ID="modalPopup" runat="server" Modal="True"> 
     </telerik:RadWindow> 
    </Windows> 
</telerik:RadWindowManager>  
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> 
    <script type="text/javascript"> 
     function showDialogInitially(url) { 
      window.radopen(url, "modalPopup"); 
      return false; 
     } 
    </script> 
</telerik:RadScriptBlock>  
+0

我使用此代碼,腳本類型=「文本/ javascript「> var strURL =」「; 函數OpenWindow(url){ strURL = url; Sys.Application.add_load(ow); } function ow(){ var oWnd = radopen(strURL,'modalPopu'); Sys.Application.remove_load(ow); } –

+0

但是當我關閉modalwindow並刷新MyPage時,modalwindow再次打開 –

+0

這是因爲瀏覽器再次調用** btnDefTask_Click **。這是瀏覽器的默認行爲,對此您無能爲力。阻止它的一種方法是在**客戶端**使用** ** **來打開RadWindows,而不是使用** ScriptManager **來單擊服務器端按鈕。 – Win

相關問題