MVC를 사용하여 부분 뷰에있는 양식을 통해 이미지를 업로드하려고합니다.MVC : 부분보기에서 이미지 업로드, 라우팅 문제
보기 코드 :
<form action="/Item/ImageUpload" method="post" enctype="multipart/form-data">
<%= Html.TextBox("ItemId",Model.ItemId) %>
<input type="file" name="file" id="file" />
<input type="submit" value="Add" />
</form>
액션 코드 :
이미지 그러나 대신 리디렉션의에 예상대로 작동 성공
모든 데이터 조작을 업로드
public void ImageUpload(string ItemId, HttpPostedFileBase file)
{
// upload image
// Add Image record to database
// Associate Image record to Item record
//Go back to existing view where the partial view sits
RedirectToAction("Details/"+ItemId);
}
"Item/Details/id"보기, "/ Item/ImageUpload"페이지로 이동
jsonResultAction을 사용하는 것을 포함하여 여러 가지 다른 방법을 시도했지만이 모든 결과가 실패했습니다.
어디서 잘못 했습니까? 사전에 감사
편집 : 난 그냥 작동하지 않는 코드에 의해 렌더링되는 모든 라우팅을 실현
. 예
: [ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ]
대신 하드 모든 작업 부호화 된 <a href="">Home</a>
그러나 모든 라우팅 렌더링 <a href="/Account/LogOff">Home</a>
렌더링.
어디에서 봤지? 나는 그것을 회상 할 수없는 문제가있다.
코드에 대한 Global.asax.cs
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// "ImageResize",
// "{controller}/{action}/{id}/{value}",
// new { controller = "Image", action = "ShowImage", id = "", value = "" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}/", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
나는 노력도하지 않았다. –
ActionResult를 반환하여 다시 시도했지만 페이지는 "Route table의 경로가 제공된 값과 일치하지 않음"으로 "Item/ImageUpload"로 이동했습니다. 오류 내 프로젝트에서 그 뷰를 전혀 만들지 마라. –