我在我的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),其是精細:
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"
我該如何處理這種情況。