2010-01-13 65 views
0

如果我不能將它作爲參數傳遞,在標記爲HttpPost的結果期間是否有任何方法從我的模型中獲取信息?Get Model in Post

[AcceptVerbs(HttpVerbs.Post)] 
    public FileUploadJsonResult Upload(HttpPostedFileBase file, IwantMyModelToo!) 

雖然我不能真正獲得實際的視圖模型。有什麼想法嗎?

這裏是主要觀點。 (FoldersController)

<hr class="space" /> 
    <div> 
     <% Html.RenderAction<Controllers.ImagesController>(i => i.Create(Model)); %> 
    </div> 
    <hr class="space" /> 

下面是部分視圖(ImagesController,其中所述創建方法駐留)

// bunch of fun jQuery for jQuery Form Uploading. 
</script> 
<div class="span-24 last"> 
    <fieldset> 
     <legend>Upload Image</legend> 
     <form id="ajaxUploadForm" action="<%= Url.Action("Upload", "Images")%>" method="post" enctype="multipart/form-data" > 
     <div> 
      <label for="file">Select Image</label><br /> 
      <input type="file" name="file" /> 
     </div> 
      <input id="ajaxUploadButton" type="submit" value="Upload" /> 
     </form> 
    </fieldset> 
</div> 
+0

請在你把視圖的片段,職位爲y我們的「上傳」操作? – 2010-01-13 20:03:29

+0

完成。我無法傳遞我想要的值的原因是因爲jQuery表單上傳過程似乎扼殺了它。 – Ciel 2010-01-13 20:05:15

+0

模型綁定到這裏沒有任何內容。 – 2010-01-13 20:06:39

回答

2

在您的代碼示例沒有連接到任何模型屬性...在這裏,我已經添加一個(Foo)隱藏在表單字段中,並創建一個名爲MyModel的類。

查看

<div class="span-24 last"> 
    <fieldset> 
    <legend>Upload Image</legend> 
    <form id="ajaxUploadForm" action="<%= Url.Action("Upload", "Images")%>" method="post" enctype="multipart/form-data" > 
     <div> 
     <%= Html.Hidden("Foo", "bar") %> 
     </div> 
     <div> 
     <label for="file">Select Image</label><br /> 
     <input type="file" name="file" /> 
     </div> 
     <input id="ajaxUploadButton" type="submit" value="Upload" /> 
    </form> 
    </fieldset> 
</div> 

型號

public class MyModel 
{ 
    public string Foo {get;set;} 
} 

控制器

public FileUploadJsonResult Upload(HttpPostedFileBase file, MyModel model) 
{ 
    //model.Foo should be accessible here 
} 
+0

我很困惑。你在什麼時候將信息傳遞給控制器​​?你在哪裏定義MyModel類?控制器如何知道MyModel參數與隱藏字段匹配? – Ciel 2010-01-13 20:14:36

+0

要在表單標籤中發送到服務器的所有信息必須位於表單標籤內。屬性'Foo'由ASP.NET MVC推斷,但你可以做'MyModel.Foo'或類似的東西。 – 2010-01-13 20:16:37

+0

對不起,這似乎不起作用。我真的不知道你從哪裏得到什麼。你在哪裏創建一個myModel類的新實例?爲什麼它神奇地接受參數列表中的myModel對象?我只是沒有看到它加在一起的地方。我坐在這裏試圖在我的最後,我得到的只是'空'。 – Ciel 2010-01-13 20:18:38