여러 개의 양식이있는보기가 있습니다. 각각 하나의 제출은 특정 값의 숨겨진 필드를 제출해야하며 모든 모델은 같은 모델을 공유해야합니다. 내 컨트롤러에서보기를 렌더링하기 전에 값을 설정했지만 "게시"방법 중 하나에 해당 값이 필요합니다. 나머지는 동일한 숨겨진 필드를 다른 값으로 제출해야합니다. 여기제출하기 전에 값을 설정하면 컨트롤러에 전송되지 않습니다.
나는 hiddenInput EventCommand
@using (Html.BeginForm("ContinueWithUpload", "Odometer", FormMethod.Post, new { id = "form2" }))
{
@Html.HiddenFor(m => m.EventCommand)
<div>
<button type="submit" name="upload-excel" value="upload-excel" id="excel-upload" class="btn btn-success">Continue Upload</button>
</div>
}
와 뷰의 단지 두 번째 양식을 표시하고하는 것은 지금까지 내가 자바 스크립트를 설정하려고하지만
$(function(){
$("#excel-upload").on("click", function (e) {
$("#EventCommand").val("upload-excel");
});
}
작동하지 않습니다 그것을하는 방법에 대해 읽고, 내가 해결할 수있는 해결 방법과 함께 ViewData와 솔루션을 발견
@Html.HiddenFor(m => m.EventCommand)
ViewData["EventCommand"] = "upload-excel"
어떤 도움을 받으실 수 있습니다.
값을 저장 하시겠습니까? 'var value = $ ("# EventCommand"). val ("upload-excel"); ' – nurdyguy
여기서 무엇을하려고하는지 명확하지 않습니다. 숨겨진 입력 값을 설정하는 스크립트가 필요한 이유는 무엇입니까? 모델을보기에 전달하기 전에 컨트롤러의'EventCommand' 속성 값을 설정하기 만하면됩니다. –
동일한보기 배수 양식을 사용할 수 없습니다. , 그리고 같은 모델을 가지고 있기 때문에 하나의 섹션에서 EvenCommand는 컨트롤러에서 오는 값을 가지고 있고 다른 모델은 다른 하나를 제출해야합니다. – Heinrich