Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
javascript使用ajax填充组合框,但在C#中,所选值为空_Javascript_C#_Asp.net_Ajax_Combobox - Fatal编程技术网

javascript使用ajax填充组合框,但在C#中,所选值为空

javascript使用ajax填充组合框,但在C#中,所选值为空,javascript,c#,asp.net,ajax,combobox,Javascript,C#,Asp.net,Ajax,Combobox,我对用javascript填充组合框有一些问题 var optn = document.createElement("OPTION"); optn.text = 'HOLA MUNDO'; optn.value = '2'; ComboBoxName.options.add(optn); 这是用ajax填充的,因为它的组合取决于另一个组合 但在c#中,当我需要使用 ComboBoxName.SelectedItem.Text SelectedItem为空 有人知道吗? 谢谢据我所知,您将在客

我对用javascript填充组合框有一些问题

var optn = document.createElement("OPTION");
optn.text = 'HOLA MUNDO';
optn.value = '2';
ComboBoxName.options.add(optn);
这是用ajax填充的,因为它的组合取决于另一个组合

但在c#中,当我需要使用

ComboBoxName.SelectedItem.Text
SelectedItem为空

有人知道吗?
谢谢

据我所知,您将在客户端的select元素中插入一个选项,然后在服务器端检查该值。服务器端不知道客户端发生了什么。与输入元素不同,select(或您所说的组合)不用于编辑,但顾名思义,它仅用于选择。因此,服务器代码只知道在服务器端添加的dropdownlist项。这就是为什么无论您向该select元素推送多少个选项,服务器都会拒绝识别它们。剩下的事

  • 您可以只选择原始选项(自服务器响应后出现的选项)
  • 或者你去阿贾克斯

  • 顺便说一句,默认情况下,ASP.NET不会接受自上次响应以来已更改的dropdownlist(作为选择元素呈现)。这是出于安全考虑

    感谢您的回复,您所说的一切都是正确的。为了处理这个问题,我添加了两个隐藏字段。当调用服务器的按钮启动时,JavaScript使用onClientClick方法在隐藏字段中设置值。服务器识别这些值。但我想知道安全方面是否有问题。非常感谢,让我们说清楚。我们使用select元素:1。将选择限制为某些值2。避免拼写错误3。(虽然不一定)以用户友好的形式显示数值,如1:BMW、2:Mercedes、3:Ford等。现在假设,将隐藏字段中的值插入数据库,设置外键约束,有人打开html检查器,将隐藏字段编辑为违反约束的值,并将其发送到服务器,会发生什么情况?虽然我不认为这是一个100%的安全漏洞,但它仍然可以视情况而定。