2011-03-08 135 views
1

我有一個swf文件,需要用戶名和密碼才能登錄。當用戶輸入值並單擊提交按鈕時,我使用asp.net驗證它。我想要的是如果驗證成功,那麼我想導航到我的應用程序的主頁也是一個SWF文件。我怎樣才能做到這一點? 這是我的mxml代碼從一個swf文件導航到另一個

<?xml version="1.0" encoding="utf-8" ?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 
<mx:Style source="d:/style1.css"/> 
<mx:HTTPService id="htservice" url="http://ramcovm354/MDCF/Upload.aspx" 
    fault="faultHandler(event)" 
    result="resultHandler(event)" 
    method="POST" 
    /> 


<mx:Form id="myForm"> 
<mx:FormHeading label="Welcome to Bulk Upload Data - Home Page" /> 
    <mx:FormItem label="Username" paddingLeft="75" paddingTop="10" required="true" > 
     <mx:TextInput id="username" width="100" /> 
    </mx:FormItem> 
    <mx:FormItem label="Password" paddingLeft="75" required="true"> 
     <mx:TextInput id="password" width="100" displayAsPassword="true" /> 
    </mx:FormItem> 
    <mx:FormItem label="Doc Type" paddingLeft="75" > 
     <mx:ComboBox id="DocType" width="100" styleName="ComboBox"> 
      <mx:ArrayCollection> 
       <mx:String>MS Office</mx:String> 
       <mx:String>Open Ofiice</mx:String> 
       </mx:ArrayCollection> 
     </mx:ComboBox> 
    </mx:FormItem> 
    <mx:FormItem paddingTop="10" paddingLeft="75"> 

     <mx:Button id="mySubmitButton" label="Login" click="{validate();}" styleName="Button" /> 
    </mx:FormItem>      
</mx:Form> 

<mx:Script>  
    <![CDATA[ 
     import mx.controls.Alert; 
     import mx.rpc.http.*; 
     import mx.rpc.events.ResultEvent; 
     import mx.rpc.AsyncToken; 
     import mx.rpc.AsyncResponder; 
     import mx.rpc.events.FaultEvent; 
     import mx.utils.StringUtil; 
     import flash.display.*; 
     import flash.net.URLRequest; 
     import flash.net.navigateToURL; 

     public var ldr:Loader = new Loader(); 
     public var address:String="http://ramcovm354/MDCF/mainpage.swf"; 
     //private function fieldValidator(evt:FocusEvent):void 
     //{ 
     // Alert.show("Focus Lost","Alert.Box",Alert.OK); 
     //} 

     public function validate():void 
     { 

      var params:Object = {}; 

      if(username.text =="" || username.text== null || password.text=="" || password.text==null) 
      { 

       Alert.show("Username or Pasword Cannot be blank","Alert.Box",Alert.OK); 

      } 
      else 
      { 
       params["User"] = username.text; 
       params["Password"]=password.text; 
       params["docType"]=StringUtil.trim(DocType.selectedItem.toString()); 
       htservice.send(params); 
      } 


      //token.addResponder(new AsyncResponder(GeneratePreviewResHandler,faultHandler)); 
     } 
     public function resultHandler(event:ResultEvent):void 
     { 


      var urlReq:URLRequest = new URLRequest(address); 
      //ldr.load(urlReq); 
      //addChild(ldr); 
      navigateToURL(urlReq); 
      //Alert.show(event.result.toString(),"Alert.Box",Alert.OK); 
      //txtSolutionName.text = event.result.toString(); 
     } 

     public function faultHandler(event:FaultEvent):void 
     { 
      Alert.show(event.fault.faultDetail,"Fault",Alert.OK); 
     } 
    ]]> 
</mx:Script>  
</mx:Application> 

在此先感謝。

回答

0

我做了什麼,我認爲你的服務器端ASP.NET代碼看起來像,因爲你沒有提供任何,但你應該得到的想法:

public void Login(string un, string pw) 
{ 
    bool success = checkAgainstDbValues(un,pw); 

    if(success) 
    { 
    Response.Redirect("myHomepage.html"); 
    } 
    else 
    { 
    //do something if login fails. 
    } 
} 
+0

感謝,但它打開.swf文件文件在一個新的頁面,我想要的是隱藏前一頁,並打開新的頁面。它就像一個典型的登錄表單驗證它,並轉到下一個表單,如果驗證成功 – vikasse 2011-03-08 13:54:01

+0

你可以發佈一些代碼?目前還不清楚你的網站的結構是什麼,也不清楚你想要完成什麼。 – 2011-03-08 14:01:55

+0

這只是一個登錄頁面,當我們點擊提交我需要移動到下一頁。我已經發布了我的mxml代碼。 – vikasse 2011-03-09 04:35:08

相關問題