2017-02-25 83 views
0

我正在开发MVC 5应用程序。我有一个Parent视图,该视图调用Partial视图,用户可以在其中加载图像。mvc部分视图onsmit表单从父视图发送数据

Submit上呼叫.Ajax在父视图中定义,调用Method/Controller

我需要的是发送给我在父视图中的控制器数据。那是可能的吗?

这是我的代码。

父视图

enter image description here

管窥

enter image description here

阿贾克斯方法

  $('#formPhoto').submit(function (event) { 
 
       event.preventDefault(); 
 
       if ($(this).valid()) { 
 
        var id="aaa"; 
 
        var formdata = new FormData($(this).get(0)); 
 
        $.ajax({ 
 
         url: this.action, 
 
         type: this.method, 
 
         data:formdata, 
 
         processData: false, 
 
         contentType: false, 
 
         beforeSend: function() { 
 
          return true; 
 
         }, 
 
         success: function (result) { 
 
          successPhoto(); 
 
         }, 
 
         complete: function() { 
 
          // alert(3); 
 
          // And so on. 
 
         } 
 
        }); 
 
       } 
 
       return false; 
 
      }); 
 
     

我需要在data:

回答

1

是有可能发送var aa='aaa'。所以基本上我可以为你建议两种方法来做你需要的东西:

第一:你可以考虑把表单元素放在ParentView中,并改变你的代码有点... 第二:你可以从数据库中恢复数据父视图并将它们序列化在一起发送给您的操作。

所以,从第二个选项会是这样的:

var parentInformation = 'aaa'; 
var formdata = new FormData($(this).get(0)); 
formdata.ExpectedParentOnPropertySide = parentInformation; 

请,我希望这个解决您的问题

+0

谢谢....我如何在控制器中的数据?我从父视图和部分视图获取模型,像这样ChangePhoto(ModelParentView模型,System.Web.HttpPostedFileBase Image = null)...当然,我会改变我的模型,就像你在1st中说的一样... – Diego

+0

你可以创建一个在同一班级接收两种信息。在ModelParentView中,您可以创建一个属性来接收图像。为了更好地理解发生的事情,请检查您的发布请求到服务器,并确定发布到您的服务器的每个属性,以及它将如何绑定到您的服务器操作参数。 – mfvjunior