1
에 나는 다음과 같은 모델을했다 : 내 컨트롤러에서 다음 작업패스 목록 다시 컨트롤러
public List<string> Results { get; set; }
public List<string> ClubcardNumbers { get; set; }
public bool FindCards {get; set;}
public bool FindDuplicates { get; set; }
public bool AllocatedVouchers { get; set; }
있다 : 여기
public ActionResult ImportExcel()
{
if (Request.Files["XlFileUpload"].ContentLength > 0)
{
string extension = System.IO.Path.GetExtension(Request.Files["XlFileUpload"].FileName);
string path1 = string.Format("{0}/{1}", Server.MapPath("~/Content/Upload"), Request.Files["XlFileUpload"].FileName);
if (System.IO.File.Exists(path1))
System.IO.File.Delete(path1);
Request.Files["XlFileUpload"].SaveAs(path1);
Session.Add("XlFileUpload", path1);
}
if (Request.Files["DataFileUpload"].ContentLength > 0)
{
string extension = System.IO.Path.GetExtension(Request.Files["DataFileUpload"].FileName);
string path1 = string.Format("{0}/{1}", Server.MapPath("~/Content/Upload"), Request.Files["DataFileUpload"].FileName);
if (System.IO.File.Exists(path1))
System.IO.File.Delete(path1);
Request.Files["DataFileUpload"].SaveAs(path1);
Session.Add("DataFileUpload", path1);
}
MvcUI2.Models.Main model = new Models.Main();
model.ClubcardNumbers = GetCardNumbers();
return View("Main", model);
}
[HttpPost]
public ActionResult RunValidation(Models.Main model)
{
//determine which validations checks to run
if (model.FindCards)
{
FileReader.UnitTests.pronc_vas ut = new FileReader.UnitTests.pronc_vas();
ut.FileToCheck = Session["XlFileUpload"].ToString();
foreach (string cn in model.ClubcardNumbers)
{
ut.ClubcardNumberUnderTest = cn.Split('\t')[0];
ut.ClubcardNumberFound();
//add results to a list to be read by DisplayResults Action
if (ut.Result)
model.Results.Add("PASSED - " + cn + " - " + "Find card number");
else
model.Results.Add("FAILED - " + cn + " - " + "Find card number");
}
}
return View("Main", model);
}
내이다 :
<div id="body">
<div id="ImportExcel">
<h2>Import</h2>
@using (Html.BeginForm("ImportExcel", "Main", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table>
<tr>
<td>Excel file</td>
<td>
<input type="file" id="XlFileUpload" name="XlFileUpload" /></td>
</tr>
<tr>
<td>Data file</td>
<td>
<input type="file" id="DataFileUpload" name="DataFileUpload" /></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" id="Submit2" name="Submit" value="Submit" /></td>
</tr>
</table>
}
</div>
<div id="DisplayCards">
DisplayCards div
<ul>
@foreach (var item in Model.ClubcardNumbers)
{
<li>
@item
</li>
}
</ul>
</div>
<div id="RunValidation">
@using (Html.BeginForm("RunValidation", "Main"))
{
<table>
<tr>
<td>
@Html.CheckBoxFor(m => m.FindCards)
Find Cards
</td>
</tr>
<tr>
<td>
@Html.CheckBoxFor(m => m.FindDuplicates)
Find Duplicates
</td>
</tr>
<tr>
<td>
@Html.CheckBoxFor(m => m.AllocatedVouchers)
Check Voucher Allocation
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="SubmitValidation" /></td>
</tr>
</table>
}
</div>
<div id="DisplayResults">
<ul>
@foreach (var result in Model.Results)
{
<li>
@result
</li>
}
</ul>
</div>
사용자는 html 파일 입력 유형을 사용하여 Excel 파일과 데이터 파일을 선택할 수 있습니다. 그런 다음 컨트롤러는 이러한 파일을 처리하고 클럽 카드 번호 목록을 모델 내의 목록에 채 웁니다. 이 목록은 div "DisplayCards"의 사용자에게 표시됩니다. div "RunValidation"내에서 사용자는 서버에 다시 게시하기 전에 확인란을 선택하는 옵션을 갖습니다. 이 시점에서 RunValidation 작업에 의해 처리 될 수 있도록 모델에 채워지는 컨트롤러의 ClubcardNumbers 목록이 필요합니다.
아무도 내가 이것을 할 수있는 방법을 제안 할 수 있습니까? 이 양식이 제출 될 때 컨트롤러에 전달받을 수 있도록
덕분에, 그것을 시도했지만 아무런 차이가 난 두려워하지 않는다. RunValidation 액션에서 model.ClubcardNumbers를 참조하면 개수가 0입니다. –
양식 안의 숨겨진 필드를 볼 수 있습니까? 올바른 형태 (RunValidation 액션을 호출하는 폼)에 넣었습니까? 그들은 다음과 같이 보일 것입니다 :''. 또한 양식을 제출할 때 FireBug를 사용하여 서버에 보내지는 정확한 요청 페이로드를 검사하십시오. 전송 된 값을 볼 수 있습니까? –
나는 Fiddler를 통해 게시물에서 다음을 포착했다 : FindCards = true & FindCards = false & FindDuplicates = false & AllocatedVouchers = false. 뷰에 코드를 추가 했더라도 숨겨진 목록이 전달되지 않는 것 같습니다. @using (Html.BeginForm ("RunValidation", "Main")) { for (var i = 0; i m.ClubcardNumbers [i]); } –
관련 문제
-
1. 보기 → 컨트롤러 → 다시보기에서 HttpPostedFileBase를 패스
-
2. 패스 표준 : : 목록
-
3. 패스 목록 [문자열] 스칼라
-
4. 패스 - 링크 된 목록
-
5. Textinput에서 컨트롤러 파일로 패스 값
-
6. ng-template에 동적 컨트롤러 패스
-
7. 패스 데이터는 다시 대신 위임
-
8. 패스 파이썬 목록 부스트 파이썬
-
9. 패스 FormData 각도에서 .NET으로 MVC 컨트롤러
-
10. 패스 매개 변수는 컨트롤러 (NOT URL 요청)
-
11. 패스 버튼 다른 상태로 선택된 상태 컨트롤러
-
12. 패스 값이
-
13. 보석 컨트롤러 다시 열기
-
14. 다시 초기화 Angular.js 컨트롤러
-
15. 는 sobject의 목록 컨트롤러
-
16. 목록 및 세부 컨트롤러
-
17. Kohana 컨트롤러 목록
-
18. ASP.NET mvc4 DropDownListFor 객체를 다시 패스
-
19. jEditable : TinyMCE 콘텐츠를 textarea로 다시 패스
-
20. 패스 여러 JS 함수에 값 다시 #
-
21. 패스 자바 목록 SQL로 쿼리 Grails는
-
22. 패스 드롭 다운 선택 값 (목록) 아약스를 통해 매개 변수
-
23. 뷰 컨트롤러 다시 초기화 - iPhone
-
24. MVC3 Html.RadioButton statpost 다시 컨트롤러
-
25. 컨트롤러 기능 다시 사용하기 + 확장하기
-
26. 각도 활성 컨트롤러 다시 초기화
-
27. JSON 목록 : 스프링 MVC 컨트롤러
-
28. 보기에서 컨트롤러, MVC3으로 목록 전달하기
-
29. MEANJS 서버 컨트롤러 목록 기능
-
30. 패스 인수는
최근 질문
-
1. 레일즈 컨트롤러가 TypeError와 함께 실패합니다 - "오류가 발생했을 때 오류가 발생했습니다"?
-
2. Arduino 프로그램이 Serial.print (5chars)없이 작동하지 않습니다.
-
3. ws.on과 ws.onmessage 사이의 웹 소켓 차이
-
4. optics : TE en TM
-
5. 왜 Kotlin 인쇄 명세서에 범위 설명이 필요하지 않습니까?
-
6. 배열의 특정 값을 반향합니다 - PHP cURL
-
7. TFS sdk를 통해 에이전트 ID를 작성하십시오.
-
8. HTML 출력 및 PHP로 파일 다운로드
-
9. 세이버 개발자 API - 개발중인 데이터의 제한은 얼마입니까? 잘못 사용했거나 데이터가 제한적입니까?
-
10. MYSQL 날짜 범위 쿼리 이상한 행동
-
1. 보기 → 컨트롤러 → 다시보기에서 HttpPostedFileBase를 패스
-
2. 패스 표준 : : 목록
-
3. 패스 목록 [문자열] 스칼라
-
4. 패스 - 링크 된 목록
-
5. Textinput에서 컨트롤러 파일로 패스 값
-
6. ng-template에 동적 컨트롤러 패스
-
7. 패스 데이터는 다시 대신 위임
-
8. 패스 파이썬 목록 부스트 파이썬
-
9. 패스 FormData 각도에서 .NET으로 MVC 컨트롤러
-
10. 패스 매개 변수는 컨트롤러 (NOT URL 요청)
관련 문제