я использовал код, предоставленный в этой ссылке для загрузки-обработки:Как сделать загрузку в asp mvc 2?
http://towardsnext.wordpress.com/2009/04/17/file-upload-in-aspnet-mvc/
Но это не работает для меня. (При нажатии на кнопку «Загрузить файл», когда я бегу на сайте ничего не случается.) Я редактировал мой взгляд, как этот
<script type="text/javascript">
$(function() {
$("#dialog").dialog({bgiframe: true, height: 140, modal: true, autoOpen: false, resizable: false}) });
</script>
и также
<div id="dialog" title="Upload files">
<% using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data", id = item.OrderId })){%>
<p><input type="file" id="fileUpload" name="fileUpload" size="23"/> </p>
<p><input type="submit" value="Upload file" /></p>
<% } %>
</div>
<a href="#" onclick="jQuery('#dialog').dialog('open'); return false">Upload File</a>
Мой Upload-функции (определенный в UploadController) выглядит следующим образом:
using System;
использованием System.Collections.Generic; с использованием System.Linq; с использованием System.Web; с использованием System.Web.Mvc; с использованием System.Web.Mvc.Ajax; с использованием System.IO; с использованием SiteVCM.Models;
пространства имен SiteVCM.Controllers { общественного класса FileDescription { общественная строка Name {получить; задавать; } public string WebPath {get; задавать; } public long Размер {get; задавать; } public DateTime DateCreated {get; задавать; }}
public class UploadController : Controller
{
StoreEntities storeDB = new StoreEntities();
//
// GET: /Upload/
FileRepository fileRepository = new FileRepository();
//public ActionResult Index()
//{
// return View(fileRepository.GetAllFileDescription());
//}
public ActionResult Upload(int id)
{
foreach (string inputTagName in Request.Files)
{
HttpPostedFileBase file = Request.Files[inputTagName];
if (file.ContentLength > 0)
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../Samples")
, Path.GetFileName(file.FileName));
file.SaveAs(filePath);
var order = storeDB.Orders.Single(c => c.OrderId == id);
order.Url = filePath;
storeDB.SaveChanges();
}
}
return RedirectToAction("Index", "Status", new { id = 0 });
}
}
и файл FileRepository.cs это то же самое для именования и место УТ файлы в исключением.
Окно JQuery диалоговое окно, как он должен, но когда я нажимаю на кнопка «Загрузить файл» ничего не происходит.
Вид этот код в antoher принадлежит контроллеру, то один моя загрузка-функция определена в.
Пожалуйста, помогите мне, я искал в течение нескольких часов, чтобы исправить это, и я волнуюсь меня.
Спасибо заранее!
Есть ли какие-либо ошибки JavaScript? (Вы проверили через Firebug?) – LiamB 2010-11-30 20:43:11
* Не работает * может означать много вещей, таких как: получение исключения (в этом случае вы предоставляете детали исключения), не ведя себя так, как ожидалось (в этом случае вы объясняете, что такое ожидаемое и фактическое результат), ваш компьютер падает с синим экраном смерти, яблоки начинают падать с неба, ... – 2010-12-01 07:34:44