2012-06-29 2 views
0

Silverlight 앱 버튼을 클릭하면 다른 타사 웹 앱에서 데이터를 가져와야합니다.사용자가 버튼을 클릭하면 silverlight에서 asp.net (또는 php?)으로 데이터가 전송됩니다.

필자가 지금까지 경험 한 바에 따르면 필요할 때 호출 할 수있는 웹 서비스 기능을 작성했지만,이 경우 고객이 "버튼 클릭 이벤트 처리"기능을 제공해야합니다. 실제 경우에는 타사 응용 프로그램이 ASP.Net이지만 가능한 경우 휴대용을 수행하려고합니다.

내 마음 속에 오는 미친 생각으로 시작하기 전에, 나는 묻는다. 어떻게 할 수 있겠는가?

PILEGGI

+0

HTML의 DIV의 ID입니다 답변 : 지금까지 달성 한 특정 코드를 게시하고 문제의 구체적인 세부 사항을 좁히는 데 매우 친절하십니까? –

+0

일반적으로 제 3 자 사이트/서비스에 대한 모든 호출은 Silverlight 클라이언트가 아닌 서버에서 시작하는 것이 좋습니다. * 이것에 대한 유일한 예외는 서재응 추적 링크 (SL 클라이언트에서 즉석에서 생성)와 같은 것입니다. –

+0

@Caspar Kleijne : 광범위한 answare에 대한 확인 – lamarmora

답변

1

내가 작성이 클래스를 사용하고 올리기 양식 동적으로

public class PassData 
    { 
    public static PassData Default = new PassData(); 

     public void Send(string strUrl, Dictionary<string, object> Parameters, string ContainerClientID = "divContainer") 
     { 
     var obj = HtmlPage.Document.GetElementById(ContainerClientID); 
     if (obj != null) 
     { 
      HtmlElement divContainer = obj as HtmlElement; 
      ClearContent((HtmlElement)divContainer); 

      HtmlElement form = HtmlPage.Document.CreateElement("form"); 
      form.SetAttribute("id", "frmPostData"); 
      form.SetAttribute("name", "frmPostData"); 
      form.SetAttribute("target", "_blank"); 
      form.SetAttribute("method", "POST"); 
      form.SetAttribute("action", strUrl); 

      if (Parameters != null) 
      foreach (KeyValuePair<string, object> item in Parameters) 
       { 
       HtmlElement hidElement = HtmlPage.Document.CreateElement("input"); 
       hidElement.SetAttribute("name", item.Key); 
       hidElement.SetAttribute("value", item.Value.ToString()); 
       form.AppendChild(hidElement); 
       } 

      divContainer.AppendChild(form); 
      form.Invoke("submit"); 

      ClearContent((HtmlElement)divContainer); 
     } 
     } 

     private void ClearContent(System.Windows.Browser.HtmlElement obj) 
     { 
     foreach (HtmlElement item in obj.Children) 
     { 
      obj.RemoveChild(item); 
     } 
     } 


    } 

divContainer이 매우 광범위한으로 이어질 수있는 매우 광범위한 질문은

+0

네,하지만 최종 고객이 어떻게 처리 할 수 ​​있습니까? Silverlight 앱을 클릭하십시오. – lamarmora

관련 문제