2015-05-11 73 views
1

是否可以檢查控制器操作以查看數據是否從enctype="multipart/form-data表單發佈?怎麼樣?如何檢查MVC控制器的enctype?


更新:我得到了一個文件上傳的表單。

@using (Html.BeginForm("Create", "Report", FormMethod.Post, new {@class = "form-horizontal", enctype = "multipart/form-data"})) 
{ 
    .... 
} 

在控制器上,接受POST。

[HttpPost] 
public ActionResult Create(InputModel model){ 
.... 
} 

反正是有,如果張貼到這一行動中的數據是從multipart加密類型形式還是常規形式,可以告訴我們?

說,在另一個頁面上有一個常規窗體,它沒有文件上傳。它想發佈到相同的行動。

回答

0

不是那麼好的主意,但你可以嘗試。

在視圖添加隱藏屬性像

@Html.HiddenFor(m => m.HiddenPropertyName)

然後在控制器檢查值

if(model.HiddenPropertyName == "someValue") 
    // upload file or something 
else 
    // do your work 
+0

所以你的答案是沒有辦法,我們可以檢查原始表單中的數據發佈從。不是嗎? – Blaise

+0

是的,我們無法檢查發佈的數據的原始表單。 –