使用C#.NET将WEB应用程序的textBox值传递给Desktop应用程序的textBox

时间:2011-03-02 06:53:44

标签: c# .net asp.net textbox

我正在使用C#.NET完成任务。让我简要解释一下我真正需要什么。我在ASP.NET C#中有一个WEB应用程序,用户在“ TextBox ”( Employee_name:)中插入的值/数据需要传递给桌面应用程序相同的对应' TextBox '说“ Employee_name:”所以我该怎么做。感谢。

3 个答案:

答案 0 :(得分:1)

Web应用程序无法启动通信。所以你不能像你那样(可能喜欢)这样做。

您可以让桌面应用程序在ASP.NET应用程序中调用一个方法并获取值,然后将其放在所需的文本框中。

然而,这将意味着一个两步过程因为您必须知道何时要求GUI应用程序从ASP.NET应用程序获取数据并根据您的情况,您可能必须通过额外的信息到ASP.NET应用程序,因此它也可以提供正确“记录”的值。

修改 使用常规Http请求(无Web服务或WCF)实现此目的的简单方法

.aspx文件中的标记应该没有html。只是像这样的页面指令:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="HttpTaskServer.WebForm1" %>

在您的代码隐藏文件(页面的.cs文件)中,您可以执行以下操作:

  public partial class WebForm1 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {

      if (Request.HttpMethod == "GET")
      {
        //Some parameter passed in by the client via QueryString (url)
        var id = Request.QueryString["id"];
        string data = GetTheData(id);
        Response.Write(data);
      }
    }
  }

有关如何从GUI /控制台应用程序进行http调用的示例。看看代码清单9(博客文章中的最后一个代码清单)。以下链接将带您直接进入代码清单9 http://www.matlus.com/httpwebrequest-asynchronous-programming/#codelisting9

答案 1 :(得分:0)

我建议: - 在IIS上运行的Web服务(WCF?) - 桌面中的Web服务使用者

如果桌面客户端定期为他提供某些内容,则会轮询该服务器。那或者使用WCF来建立双工通信。这样,服务器可以通知他的客户文本框已被更改。通信仍然需要由桌面客户端启动。

答案 2 :(得分:0)

我假设您在此处引用的方案是前端Web应用程序和后台窗口应用程序。我不确定为什么需要实时传递数据,但我的建议是将您的操作从Web应用程序中完成/存储在数据库中,然后将数据从数据库中提取到您的Windows应用程序。