Asp.net mvc 3 有没有简单的方法将数据传递到MVC3应用程序?

Asp.net mvc 3 有没有简单的方法将数据传递到MVC3应用程序?,asp.net-mvc-3,Asp.net Mvc 3,[编辑]试图澄清: 我有一个视图需要从外部应用程序启动。该应用程序需要从外部应用程序传递字符串数据。数据是自由文本,太长,无法作为查询参数传递,因此我希望通过POST请求启动MVC应用程序。启动的视图还需要将数据发布回自身,以便提交它收集的数据以存储在数据库中。因此,我最终得到了一个视图,在我的控制器中有两个HttpPost标记的方法,MVC抛出了一个错误,即存在不明确的Create方法 因此,在下面的代码中,Create将从外部应用程序发布到。提交显示的视图时,CreateFormCollec

[编辑]试图澄清:

我有一个视图需要从外部应用程序启动。该应用程序需要从外部应用程序传递字符串数据。数据是自由文本,太长,无法作为查询参数传递,因此我希望通过POST请求启动MVC应用程序。启动的视图还需要将数据发布回自身,以便提交它收集的数据以存储在数据库中。因此,我最终得到了一个视图,在我的控制器中有两个HttpPost标记的方法,MVC抛出了一个错误,即存在不明确的Create方法

因此,在下面的代码中,Create将从外部应用程序发布到。提交显示的视图时,CreateFormCollection集合将发布到

//POST:  /Application/Create   
[HttpPost]
public ActionResult Create()
{
     MyModel model = new MyModel();     
     //Parse External Data to model from Request.InputStream
     return View(Model); 
}

//POST: /Application/Create
[HttpPost]
public ActionResult Create(FormCollection collection)
{
      //Save form collection data to database
      return RedirectToAction("Index");
}
长话短说,我如何才能将数据发布到MVC应用程序以启动视图,而不会因为不明确的调用而出错


谢谢。

在第一种情况下,当post方法从外部传入时:

return View("ConfirmCreate", model)
然后创建一个名为ConfirmCreate的操作方法。第二次调用ConfirmCreate后,您将重定向回索引。

因此,我可以通过更改POST调用将应用程序加载到PUT来实现这一点,以避免出现重复的POST端点,然后在另一个应用程序中从ajax调用发送PUT,并用成功的ajax调用返回的html替换当前文档。感谢您的建议。

这有点难理解,尤其是关于必须单独命名控制器的部分。你能更详细地修改一下吗?为什么在action方法或FormsCollection中使用请求对象而不是参数。如果这在这里很重要,您可以通过返回Viewxyz来更改要查看的视图,但我无法说出真实的场景:您想对视图做什么。这是用户需要看到的吗?是在应用程序中解析的结果,保存到磁盘上吗?…用户需要看到它,提供一些信息,然后这些信息和传递的部分数据将保存到数据库中。视图是从另一个基于web的应用程序启动的,还是从类似windows.forms的应用程序启动的?我的意思是,你是否需要启动浏览器来执行post,或者是否已经有一个浏览器处于活动状态?它是从另一个web应用程序启动的,因此浏览器已经处于活动状态。