我有一張表格將照片上傳到我的數據庫,我使用視圖模型來幫助這個過程。asp.net mvc文件上傳被傳遞爲null來查看模型
視圖模型:
public class GalleryViewModel
{
//Members:
public Gallery _photo { get; set; }
public string _title { get; set; }
public string _description { get; set; }
public string _photographer { get; set; }
public HttpPostedFileBase uploadFile { get; set; }
// Ctor
public GalleryViewModel(Gallery photo)
{
_photo = photo;
}
public GalleryViewModel()
{
_photo = null;
}
}
當我調試的代碼,我看到在我的控制器POST方法,所有表單中的信息在視圖模型更新除了uploadFile這是空值。 在表格中我使用enctype =「multipart/form-data」。當我使用我的母版頁時,uploadFile爲空,但是當我使用默認的MVC母版頁時,一切正常。
這是我的母版頁:
<%@ Master Language="C#" MasterPageFile="~/views/Shared/GeneralMaster.master" Inherits="System.Web.Mvc.ViewMasterPage" %>
<asp:Panel ID="notifiactions" runat="server">
<% if (ViewData["notifications"] != null)
{ %>
<br />
<table width="100%">
<tr>
<td align="center">
<div id="messages" style="width: 90%; border: solid 1px #A3A3A3">
<br />
<%= Html.Encode(ViewData["notifications"])%>
<br /><br />
</div>
</td>
</tr>
</table>
<% } %>
</asp:Panel>
<br />
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="30%" align="center">
<img src="\Content\SiteDesign\wine_in_frame2.JPG" alt="lk" />
</td>
<td width="40%">
<asp:ContentPlaceHolder ID="PageContent" runat="server" />
</td>
<td width="30%" align="right">
<img src="\Content\SiteDesign\set_with_frame.jpg" alt="Alon" />
</td>
</tr>
</table>
這是默認的asp.net mvc的母版頁
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<div id="header">
<div id="title">
<h1>My MVC Application</h1>
</div>
<div id="logindisplay">
<% Html.RenderPartial("LogOnUserControl"); %>
</div>
<div id="menucontainer">
<ul id="menu">
<li><%= Html.ActionLink("Home", "Index", "Home")%></li>
<li><%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
</div>
<div id="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
<div id="footer">
</div>
</div>
</div>
什麼想法?
我使用: <%使用(Html.BeginForm( 「UploadPhoto」,「畫廊「,FormMethod。Post,new {enctype =「multipart/form-data」})){%> 正如我所說的,當我調試代碼時,推送上傳按鈕確實會調用post方法,並且視圖模型中的所有信息是當我調用UpdateModel時更新,除了文件是null ... – Eran 2010-08-20 07:58:00