我對ASP.NET MVC很新。我的要求是使用MVC創建一個小型Web應用程序,它可以上傳多個文件,其描述和標題的描述爲。我在網上發現了很多關於單個或多個文件上傳的文章,但是仍然無法找到那些像我的要求那樣說話的人。
中的描述和文件選擇塊可以具有多達用戶之一。他們可以通過點擊單個上傳按鈕來上傳多個文件。
我確實需要您的專業知識來幫助我。 最好的問候,
Veasna
我對ASP.NET MVC很新。我的要求是使用MVC創建一個小型Web應用程序,它可以上傳多個文件,其描述和標題的描述爲。我在網上發現了很多關於單個或多個文件上傳的文章,但是仍然無法找到那些像我的要求那樣說話的人。
中的描述和文件選擇塊可以具有多達用戶之一。他們可以通過點擊單個上傳按鈕來上傳多個文件。
我確實需要您的專業知識來幫助我。 最好的問候,
Veasna
我不認爲這是完全是一個MVC的問題。
你所需要的就是發送形式誰將會發送多個文件,誰也將派相關聯的每個文件(在這種情況下,每個文件的說明)的數據。
事實上,隨着多形式的數據,您可以發送此類信息,但是,以往的經驗告訴我,剛剛經歷了多形式上傳通常會很麻煩多個文件。
如果你的目標用戶預計將使用有些現代瀏覽器,我建議使用HTML5的JavaScript文件API,這是非常有用和強大。
您可以使用客戶端代碼來識別你的用戶是選擇哪些文件,其中的描述值的分配到每一個文件,並建立一個JSON對象的所有數據。
一旦建成了數據包,您可以將其發送到您的服務器通過AJAX調用。 在控制器上,您可以執行一項操作來管理此JSON數據包並將其以您的業務模型定義的方式進行保存。
您有JavaScript文件API這裏的外觀極好的出發文章:http://www.html5rocks.com/en/tutorials/file/dndfiles/
希望這有助於。
根據你的描述,你可以通過下面的鏈接,供您參考: - 與它
Multiple file upload with titles
也有一些代碼。
protected void SaveButton_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in ImagesGrid.Rows)
{
var title = row.FindControl("txtTitle") as TextBox;
var description = row.FindControl("txtDescription") as TextBox;
var imageFile = row.FindControl("flUpload") as FileUpload;
}
}
protected void btnEnter_Click(object sender, EventArgs e)
{
if (txtImages.Text != "")
{
pnltwo.Visible= true;
}
var imageCount = Convert.ToInt32(txtImages.Text);
var list = new List<string>(imageCount);
list.AddRange(Enumerable.Repeat(String.Empty, imageCount));
ImagesGrid.DataSource = list;
ImagesGrid.DataBind();
}
ASPX
<asp:Panel ID="pnlone" runat="server">
<asp:Label ID="lbltext" runat="server" Text="Enter the no of images to upload"></asp:Label>
<asp:TextBox ID="txtImages" CssClass="form-control" runat="server"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="reqtxt" runat="server" CssClass="error-class" ControlToValidate="txtImages" ErrorMessage="Please enter value"></asp:RequiredFieldValidator>
<asp:Button ID="btnEnter" runat="server" CssClass="btn btn-prm" CausesValidation="true" OnClick="btnEnter_Click" Width="75px" Text="Upload" />
</asp:Panel>
<asp:Panel ID="pnltwo" runat="server">
<asp:GridView ID="ImagesGrid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Sl No">
<ItemTemplate><%# Container.DisplayIndex + 1 %></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Title">
<ItemTemplate>
<asp:TextBox ID="txtTitle" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:TextBox ID="txtDescription" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="File">
<ItemTemplate>
<asp:FileUpload ID="flUpload" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Button ID="SaveButton" Text="Save" CssClass="btn btn-prm" CausesValidation="false" runat="server" OnClick="SaveButton_Click" />
</asp:Panel>
怎麼樣你告訴我們你嘗試過什麼? – 2014-12-05 13:00:59