C# 从多个下拉列表中获取所有值
我是.NET新手,我正在尝试从第一个和第二个下拉列表中获取这两个值。比如说,两个下拉列表都没有ID,我无法控制它们的数量 我有以下aspx代码:C# 从多个下拉列表中获取所有值,c#,asp.net,json,C#,Asp.net,Json,我是.NET新手,我正在尝试从第一个和第二个下拉列表中获取这两个值。比如说,两个下拉列表都没有ID,我无法控制它们的数量 我有以下aspx代码: <%@ Page Language="C#"%> <!DOCTYPE html> <html> <head> <script runat="server"> protected void btnClick_Click(object sender, EventAr
<%@ Page Language="C#"%>
<!DOCTYPE html>
<html>
<head>
<script runat="server">
protected void btnClick_Click(object sender, EventArgs e){
lblResult.InnerHtml = "asd";
}
</script>
</head>
<body>
<form runat="server">
<asp:dropdownlist runat="server">
<asp:listitem value="A">A</asp:listitem>
<asp:listitem value="B">B</asp:listitem>
</asp:dropdownlist>
<asp:dropdownlist runat="server" multiple>
<asp:listitem value="C">C</asp:listitem>
<asp:listitem value="D">D</asp:listitem>
<asp:listitem value="E">E</asp:listitem>
<asp:listitem value="F">E</asp:listitem>
<asp:listitem value="G">E</asp:listitem>
</asp:dropdownlist>
<asp:button id="btnClick" runat="server" onclick="btnClick_Click" text="Click"></asp:button>
<span id="lblResult" runat="server"></span>
</form>
</body>
</html>
编辑1:参见上面的完整代码。
编辑2:在没有AJAX的情况下查找两个输出
编辑3:将“动态附加下拉列表”改为“我无法控制要添加多少下拉列表”,以避免混淆。
编辑4:这几乎与以下问题相同:……但是,接受的答案仅从多个
元素中选择最后选择的值
谢谢大家! 我不确定您所说的动态是什么意思,因为服务器会在页面被浏览器看到之前预先呈现您的控件。因为您不需要Ajax,所以被迫进入称为页面加载事件的意大利面。基本上,您正在尝试创建、验证、存储和输出。这种可怕的做法将是:
var output = String.Empty;
if(!string.IsNullOrEmpty(dropdownA.SelectedValue))
if(!string.IsNullOrEmpty(dropdownB.SelectedValue))
output = $"{dropdownA.SelectedValue} {dropdownB.SelectedValue}";
这将出现在页面加载中,因此每次执行回发操作时,都会进行检查。此外,值的更改应该在
HttpContext
中。您还需要确保告诉控件重新加载,以便控件在每次发生更改时都执行服务器事件。显然,你会有很多屏幕闪烁 我担心你的问题太宽泛了,因为有很多方法可以做到这一点:AJAX、常规回发、有模型、没有模型等等。你需要向我们展示你的代码背后的代码,这样我们就可以看到你在做什么以及如何做。另外,这将表明你已经在自己做这件事上付出了一些努力。@Codingyosi我正试图在没有js的情况下实现这一点。这只是一个单页程序。我只是想知道如何迭代在select元素中选择的值。您所需要做的就是给出您的下拉列表ID。也许我误解了,但“两个下拉列表都没有ID,因为它们将被动态附加。”这与asp.net的工作原理相矛盾。如果您给他们ID,那么您将能够访问服务器端的选定值。动态附加是什么意思?@Miko您的页面不应该编译,您需要id来运行由DaniDev表示的控件。
var output = String.Empty;
if(!string.IsNullOrEmpty(dropdownA.SelectedValue))
if(!string.IsNullOrEmpty(dropdownB.SelectedValue))
output = $"{dropdownA.SelectedValue} {dropdownB.SelectedValue}";