일부 동적 컨트롤을 처리하는 asp.net mvc (C#) 응용 프로그램에 양식이 있습니다. 버튼 클릭 "행 추가"에 폼 콜렉션에서 같은 이름의 여러 컨트롤을 처리합니다.
, 내가 같이 기존 테이블에 동적으로 행을 추가합니다 :$('#btnAddMore').click(function() {
var _userBodyHtml = '';
_userBodyHtml += '<tr><td><input type="text" name="UserName" id="UserName' + _userDynId + '" size="10" /></td>';
_userBodyHtml += '<td><textarea name="UserComments" id="UserComments' + _userDynId + '" cols="60" rows="1"></textarea></td>';
_userBodyHtml += '</tr>';
_userDynId += 1;
$('#UserBody').append(_userBodyHtml);
});
그런 다음 관리자는 사용자 이름과 주석을 추가하고 제출합니다.
에 제출, 내가 같이 컨트롤러의 액션을 처리하고있다 : 위의 코드에서
var _frmUserNames = new List<String>(form["UserName"].ToString().Split(','));
var _frmUserComments = new List<String>(form["UserComments"].ToString().Split(','));
if (_frmUserNames.Count > 0 && _frmUserComments.Count > 0)
{
List<UserComments> _userComments = Enumerable.Range(0, _frmUserNames.Count)
.Select(i => new UserComments
{
UserName = _frmUserNames[i],
UserComment = _frmUserComments[i]
}).ToList();
}
의 _frmUserComments
내가 차별화하고 같은 이름을 가진 두 개 이상의 텍스트 상자가있는 경우 쉼표로 구분 된 값을 반환 텍스트 박스는 다른 ID만을 사용합니다.
관리자가 해당 주석 내에 쉼표 (,)가있는 사용자 주석을 입력하면 양식 값 _frmUserComments
에 쉼표로 구분 된 값이 있고 목록에 유효하지 않은 데이터를 제공합니다.
관리자가 입력 괜찮 (사례 1) 일으키는 문제
_frmUserNames = "Sam,David"
_frmUserComments = "Logged on 12/10/2010,Looking for enhancement"
는 관리자가 입력 (사례 2) :
Sam Logged on 12/10/2010
David Looking for enhancement
형태가 리턴 값
Sam Logged on 12/10/2010
David Logged on 03/01/2011, Looking for enhancement
양식 값 반환 :
_frmUserNames = "Sam,David"
_frmUserComments = "Logged on 12/10/2010,Logged on 03/01/2011, Looking for enhancement"
어떻게 이런 시나리오를 처리 할 수 있습니까?