当用户单击按钮时,将数据从 Silverlight 发送到 asp.net(或 PHP?)



如果我单击Silverlight应用程序的按钮,另一个第三方Web应用程序必须获取一些数据。

到目前为止,我的经验是创建可以在需要时调用的 Web 服务函数,但在这种情况下,我必须为客户提供"处理按钮上的单击事件"的可能性。在实际情况下,第三方应用程序是 ASP.Net 的,但是,如果可能的话,我想做一些便携式的事情。

在开始一些疯狂的想法之前,我会问:你会怎么做?

皮尔吉

我使用这个类来动态创建和发布表单

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 是 html 中div 的 id

相关内容

  • 没有找到相关文章

最新更新