【问题标题】:Getting text from TextBox in Windows Form and putting it into TextBox in Web Application从 Windows 窗体中的 TextBox 获取文本并将其放入 Web 应用程序中的 TextBox
【发布时间】:2014-08-28 20:16:40
【问题描述】:

总的来说,我对编程比较陌生——我上最后一堂正式的面向对象编程课是我大一的时候(我的行话可能不准确)。所以,请多多包涵。如果这个问题应该在不同的领域提出(例如 C# 论坛,请告诉我)。

基本上,前提是:在一个解决方案中,我有两个项目,一个 Windows 窗体应用程序和一个 Web 应用程序。我的 Windows 窗体应用程序将是一个简单的 GUI(稍后会变得更复杂,但我想更简单地开始),带有一个提示用户输入一些文本的标签、一个供用户输入文本的 TextBox 和一个提交按钮。按下提交按钮后,我想将输入到 TextBox 中的任何内容传递到给定网页上的 TextBox 中(该网页将是已经存在的 Web 应用程序的一部分,但现在我只是使用本地主机进行调试并了解概念)。

我已经为 Windows 窗体应用程序设计了窗体并设计了网页(同样简单,带有一个标签,说明“从 GUI 输入的文本:”和一个文本框)。所以现在我被困住了。我尝试了几种不同的方法,并尝试寻找类似的问题,但没有这样的运气。我以为我可以用我的 Windows 窗体项目的名称(在 aspx.cs 页面中)实现一个“使用”命名空间,但是当我运行时,它无法识别我使用的方法......所以我试着把这个方法直接在 .aspx 页面中,但它不喜欢我给出的命名空间(询问我是否缺少程序集引用......我不是......)。

我觉得我让这件事变得比它需要的更困难,我不知道从哪里开始。如果有人需要查看我的代码,我会发布它 - 我现在会发布它,但这有点麻烦。我正在编程的计算机不允许连接到互联网,也不允许我使用拇指驱动器等设备,所以我必须手动输入。但是,如果这意味着我可以得到一些答案,我愿意这样做!再次,我在这里学习和寻求建议,所以任何帮助都将不胜感激!此外,快速响应是理想的!

哦!我正在使用 Visual Studio 2012、.NET Framework 4.5,我的 Windows 窗体应用程序是用 C# 编写的。

【问题讨论】:

  • 尝试将其存储在某处并将其加载到网页上。
  • Windows 应用的用途是什么?为什么用户不能直接在某些<input /> 中的Web 应用程序上进行操作?如果您想在项目之间“共享代码”,那么该代码应该在一个库中以便可以重复使用(例如 WinForms、Web、Mobile)。嗯……
  • 基本上最终产品将是一个 GUI,它会在按下按钮后推出一些东西(图像或各种实时视频)。对我们来说,用户不会提示/我们不会问用户他们想要什么。相反,我们只会给他们我们希望他们看到的东西……如果这有意义的话。
  • 所以“客户端”(用户使用的)是 WinForm,WinForm 将从某个网络位置(例如 web)获取一些东西?

标签: c# asp.net


【解决方案1】:

编辑:我最初的答案是经过深思熟虑的。这是我应该说的:

我没有使用过 ASP.NET,所以我的答案的服务器端可能有点含糊。基本上,您需要在客户端做的是创建一个 HTTP GET URL(如“http://www.yoursite.com/yourWebApp/theFormPage?textboxText=foo”),其中一个参数是一个字段,它告诉网页在其文本框中放置什么。然后您需要使用Process.Start“执行”该 URL,这将导致该 URL 在您的默认浏览器中打开。网页需要读取您传递的参数并生成一个表单,其中相应的input 标签的value 属性是您发布的参数的值。

阅读上面的一些cmets后进一步编辑:

如果您想将图像等推送到网站,您需要使用 HTTPRequest 进行 HTTP POST,就像我建议的第一个版本的答案一样。但是,在这种情况下,WinForms 应用程序将捕获来自服务器的响应,而不是在 Web 浏览器中启动的页面。然后由 WinForms 应用程序来解析和使用响应数据。如果我理解您,您想使用 WinForms 应用程序在网页上部分或完全“填写表格”。比这更好的是客户端应用程序完全绕过网络表单,在幕后提交数据。

【讨论】:

  • 好的,理论上我明白这一点,但我需要做一些研究才能把它们放在一起,我会看看你提供的链接......另外,相同类型的如果说我想将特定图像或其他文件发送到网页,则处理工作。我只是从一个文本框开始,因为我认为它最简单!在我上面的评论中,我陈述了我的最终产品的理想状态。谢谢
  • 基本上在您的 WinForms 中设置一个像 mywebapp.com/page.aspx?tbtext=blah 这样的超链接,然后在您的 Web 应用程序中,在 'page.aspx.cs'(假设这是 C#)在 pageload 事件中执行 mytextbox.text = Request.QueryString["tbtext"];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多