所以我有一个数字数组,我要发布到一个 asp.net mvc 动作,它有一个 list(of integer) 参数,而且效果很好。
我的问题是这样的:
假设列表(整数)的数字与我发布的数组中的数字顺序相同,是否安全?
谢谢你的时间!
编辑:
发布的数据如下所示:
POSTDATA=model.LevelIds=6&model.LevelIds=19&model.LevelIds=16&model.LevelIds=21&model.LevelIds=18
我正在使用 Tamper Data firefox 插件来查看它。
我在传统模式下使用 jQuery。
编辑:
动作看起来像这样:
public function Create(byval model as thecreateviewmodel) as actionresult
thecreatviewmodel 有很多属性,但有趣的是...
Public Property LevelIdsAs IList(Of Integer) = New List(Of Integer)
在客户端,视图模型是使用 javascript/jquery 构建的:
function NewEntityDataBuilder() {
var theData = {
'model.Name' : $('#Name').val(),
'model.Description' : $('#Description').val(),
'model.LevelIds' : $('#LevelIds').val()
};
return theData;
}
该函数是从这段 javascript 调用的,它基本上通过并将列表中的所有内容添加到下拉列表(选择控件)并全部选择它们。
$('#LevelIds').empty();
$('#AddedLevels').children().each(function () {
$('#LevelIds').append("<option value='" + $(this).attr('LevelId') + "'>" + $(this).attr('LevelId') + "</option>");
});
$('#LevelIds').children().attr('selected', 'selected'); //select all the options so they get posted.
var dataToPost = NewEntityDataBuilder();
当它这样说时,这似乎相当复杂,但它实际上相当简单。它都是 2 个连接的拖放列表的一部分,它们是表单的一部分。
所以:如果我将选择列表的值及其所有选项放在一个变量中,并将其发布到 ilist(整数),ilist 将按照与选择中相同的顺序排列它们。好像他们是。但这只是巧合吗?