2016-10-11 2 views
-2

꽤 새로운 asp MVC에 새로운, 여러 HTML 테이블을 포함하는 뷰가 있습니다. 제 질문은 이러한 테이블의 데이터를 컨트롤러에 전달하는 방법입니다. 전달 된 데이터는 동일한 SQL 표여러 개의 HTML 테이블에 삽입하기

답변

1

테이블이 3 개 있고 각 테이블에 입력 컨트롤이 있다고 가정하면 MVC 액션은 클래스의 인스턴스를 허용해야합니다.이 클래스는 HTML의 각 입력 컨트롤에 대한 공용 속성을 가져야합니다.

예 : 당신이

<table> 
    <tr> 
     <td><input type="text" name="ProductName" value=" " /></td> 
    </tr> 
    <tr> 
     <td><input type="text" name="ProductPrice" value=" " /></td> 
    </tr> 
    <tr> 
     <td><input type="text" name="ProductDescription" value=" " /></td> 
    </tr> 
</table> 

그런 다음 액션 매개 변수가 비슷해야 다음과 같은 HTML을 가정 :

public class FormData 
{ 
    public string ProductName{get;set;} 
    public string ProductPrice{get;set;} 
    public string ProductDescription{get;set;} 
} 

그리고 당신의 행동은 다음과 같아야합니다

[HttpPost] 
    public ActionResult Create(FormData form) 
    { 
     if (ModelState.IsValid) 
     { 
      try 
      { 

      } 
      catch (Exception ex) 
      { 

      } 

      return RedirectToAction("Index"); 
     } 

     return View(form); 
    } 

더 많은 테이블과 컨트롤을 추가할수록 더 많은 속성을 추가해야합니다.클래스의 경우 그룹화를 추가하려면 FormData 클래스에 하위 클래스를 추가하고 HTML에 속성 이름 앞에 접두사를 추가 할 수 있습니다.

+0

문제가있는 경우 컨트롤이 많기 때문에 속성이 많을 경우 더 깨끗한 해결책을 찾고있었습니다. – user1483145

관련 문제