У меня есть форма в моем приложении 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
возвращает значение, разделенное запятыми, когда существует более одного текстового поля с одинаковым именем, поскольку я различаю текстовые поля только с разными идентификаторами.
Проблема заключается в том, что когда администратор вводит пользовательские комментарии, в которых есть запятая (,) внутри этого комментария, тогда значение формы _frmUserComments
имеет значение, разделенное запятыми, и это дает неверные данные в список.
Когда входит администратор (случай 1), что нормально:
Sam Logged on 12/10/2010
David Looking for enhancement
значения формы возвращаются:
_frmUserNames = "Sam,David"
_frmUserComments = "Logged on 12/10/2010,Looking for enhancement"
Когда входит администратор (случай 2), что вызывает проблему:
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"
Как я могу справиться с таким сценарием.