2012-08-29 2 views
1

저는 MVC와 웹 개발에 새로운 것이 있습니다. 나는 이미 가지고있는 토큰을 전달할 필요가있다. 파일 이름과 파일은 <input type="file" id="theFile"/>에서 빠져 나와 날짜가 필요하다. 일단 내가 홈 컨트롤러 로이 정보를 얻을 수있는 C#을 사용할 수 있습니다 그리고 내가 무슨 일이 일어나고 있는지. 그러나 그 순간 나는 내가 올바른 길을 가고 있는지 확실하지 않습니다.다른 버튼을 클릭해도 <input type = "file"id = "theFile"/>에서 정보를 전달합니까?

버튼을 사용하여 컨트롤러에이 값들을 전달하는 방법은 무엇입니까 ?? 내보기에

:

<input type="file" id="theFile"/> 
<br> 
<button type="button" onclick="Upload(token = Model.Token, fileName = theFile.Value.tostring(), modDate = date.now, file = theFile.value);" >Upload file to the website</button> 

HomeControler에서 :

public ActionResult Upload(string token, string filename, string moddate, object file) 
      { 

      } 

답변

1

당신은 HTML에서 직접 컨트롤러의 액션 메소드를 호출하지 않습니다. 데이터를 업로드하는 경우이를 수행하는 표준 방법은 양식을 서버에 게시하는 것입니다.

보기에 파일을 입력 했으므로 토큰을 포함하는 숨겨진 필드가 필요하거나 쿠키에서 가져 오는 것처럼 보이게됩니다. 이는 구현에 따라 다릅니다.

보기에 <form>이 있어야합니다. MVC에서 당신은

@using (Html.BeginForm("yourControllerName", "Upload")) 
{ 
    all your form elements here 
} 

뭔가를 할 것 그리고 마지막으로 당신의 Upload 액션 메소드에 [HttpPost] 속성을 추가 할 수 있습니다. MVC는 양식 요소를 Upload의 매개 변수로 매핑합니다.

+0

여기서 모든 요소를 ​​구성한다고 가정 할 때, 내 태그가 이동하거나 변수가있는 부분입니까? 임마? – Pomster

+0

@Pommy @와 같은 태그를 의미합니다. –

+0

감사합니다. 따라서

에 들어가야합니다. 다른 버튼은 제출으로 변경해야합니까? 그것을 밖으로 유지하거나 내부에 보관합니까? – Pomster

관련 문제