Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据在第一个下拉列表中选择的选项,在第二个下拉列表中自动选择多个选项_C#_Asp.net_Ajax - Fatal编程技术网

C# 根据在第一个下拉列表中选择的选项,在第二个下拉列表中自动选择多个选项

C# 根据在第一个下拉列表中选择的选项,在第二个下拉列表中自动选择多个选项,c#,asp.net,ajax,C#,Asp.net,Ajax,我有两个下拉列表。在这两个选项中,您可以选择多个选项 图1:两个下拉列表 图2:DropDownList的代码 正如您将看到的,我将设备下拉列表放置在局部视图中。代码 为此,您可以在图3中看到 图3:设备下拉列表的局部视图 这个局部视图背后的思想是,当在第一个下拉列表中选择选项时,整个下拉列表将通过用其中的下拉列表替换局部视图来刷新 图4:Ajax方法 此ajax方法将调用控制器中的action方法,当第一个下拉菜单上出现更改事件时,您将在图5中看到该方法。它将把选择的值传递给动作方法

我有两个下拉列表。在这两个选项中,您可以选择多个选项

图1:两个下拉列表

图2:DropDownList的代码

正如您将看到的,我将设备下拉列表放置在局部视图中。代码 为此,您可以在图3中看到

图3:设备下拉列表的局部视图

这个局部视图背后的思想是,当在第一个下拉列表中选择选项时,整个下拉列表将通过用其中的下拉列表替换局部视图来刷新

图4:Ajax方法

此ajax方法将调用控制器中的action方法,当第一个下拉菜单上出现更改事件时,您将在图5中看到该方法。它将把选择的值传递给动作方法

图5:控制器中的操作方法


现在唯一的问题是,在action方法中,我得到的是一个“object”作为类型,而不是string[]。如何从该对象中获取这些值?我也试着用一篇ajax文章来做这件事,但是局部视图不会自动刷新。

我不能很好地理解你的问题,我不明白你发送的列表是什么意思

但是如果您在Action DeviceSDL中将模型声明为DeviceDlViewModel,并将其作为对象返回PartialView,那么您将拥有和…对象。也许如果你换一条线

return PartialView(model);
为此

return PartialViewModel(model.ActiveDevices);

这将返回一个列表…与您发送的列表相同://

的确,发送的列表是相同的,但关键区别在于,现在根据第一个下拉列表中选择的选项选择了某些选项(它们不是第一个选项)。