2013-05-04 174 views
2

我使用的是asp.net c#和Telerik工具。我的問題是,我打算通過使用java腳本將(文本框,下拉列表和文件上傳的詳細信息)的值傳遞值+上傳文件

傳遞到另一個asp頁面,但沒有任何工作,我想獲取文件內容並將其作爲好 ??你能給我一個解決方案嗎?請!

在第1頁:

<script type="text/javascript"> 
       function GetRadWindow() { 
        var oWindow = null; 
        if (window.radWindow) oWindow = window.radWindow; 
        else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; 
        return oWindow; 
       } 
       function populateCityName(arg) { 
        var cityName = document.getElementById("cityName"); 
        cityName.value = arg; 
       } 
       function returnToParent() { 
        //create the argument that will be returned to the parent page 
        var oArg = new Object(); 

        //get the city's name   
        oArg.cityName = document.getElementById("cityName").value; 
        //get a reference to the current RadWindow 
        var oWnd = GetRadWindow(); 




        //Close the RadWindow and send the argument to the parent page 
        if (oArg.cityName) { 
         oWnd.close(oArg); 
        } 
        else { 
         alert("Please fill field"); 
        } 
       } 
      </script> 

第2頁:

function OnClientClose(oWnd, args) { 
       //get the transferred arguments 
       var arg = args.get_argument(); 
       if (arg) { 
        var cityName = arg.cityName; 

      $get("order").innerHTML = "You chose to fly to <strong>" + cityName + "</strong>"; 
       } 
+1

什麼都不行?你有什麼嘗試? – Sayse 2013-05-04 08:38:53

+0

首先,我嘗試通過如下所示的文本框值,但我faild var cityName = document.getElementById(「cityName」); cityName.value = arg; – user2349354 2013-05-04 08:40:54

+0

另外我試圖獲取文件內容作爲字符串來保存它的數據庫,但我不知道該怎麼做? – user2349354 2013-05-04 08:44:05

回答

0

您可以創建一個會話變量來存儲上傳fileContent和訪問另一頁上。

對於像文本框或下拉列表的簡單文本,您可以直接通過查詢字符串發送它們。

創建一個像這樣的會話變量。

page1.aspx.cs

Session["FileContent"] = FileUpload1.FileContent; 

和訪問它像下面的另一頁;

page2.aspx.cs

if(Session["FileContent"]!=null) 
{ 
    Stream fileData = (Stream)Session["FileContent"]; 

    StreamReader reader = new StreamReader(stream); 
    string imgData = reader.ReadToEnd(); 

    //save imgData to db 
} 

您不能訪問其他網頁通過JavaScript控制值。
如果您通過這樣做document.getElementById("cityName")沒有得到任何東西,那麼這就是說,在這個頁面上沒有這種帶有id的控件。

嘗試使用queryString(或Session變量)傳遞TextBox文本。

+0

我正在使用telerik上傳工具,所以[FileUpload1.FileContent;]它不會使用它 – user2349354 2013-05-04 08:46:25

+0

那麼是什麼? telerik工具必須提供更簡單的方式來獲取文件內容。答案旨在展示如何將選定的文件數據從一個頁面傳輸到另一個頁面。 – 2013-05-04 08:49:17

+0

我會嘗試使用querystring ..併爲telerik我會再次嘗試該方法,多謝提前幫助 – user2349354 2013-05-04 09:26:07

1

嘗試使用
var cityName = document.getElementById('<%= cityName.ClientID %>');而不是

var cityName = document.getElementById("cityName"); 
+0

我使用了這兩種方法,但它不會工作 – user2349354 2013-05-04 09:23:49

+0

首先檢查名稱由於telerik工具爲您的browswer中的選擇檢查元素在html中更改。然後使用id代碼使用html代碼 – Dolo 2013-05-04 09:38:13

+0

如何將javascript變量從一個頁面傳遞到其他頁面? – Dolo 2013-05-04 09:38:44