C# GridView中的asp.net DropDownList
我使用的是GridView,里面有DropDownListC# GridView中的asp.net DropDownList,c#,asp.net,gridview,dropdownlistfor,C#,Asp.net,Gridview,Dropdownlistfor,我使用的是GridView,里面有DropDownList <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:TemplateField HeaderText="Product"> <ItemTemplate>
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Product">
<ItemTemplate>
<asp:DropDownList ID="drop_prod" runat="server" OnSelectedIndexChanged="drop_prod_SelectedIndexChanged"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Email">
<ItemTemplate>
<asp:DropDownList ID="drop_mail" runat="server" OnSelectedIndexChanged="drop_mail_SelectedIndexChanged"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Dropdownlist已经由值(动态)填充,如果用户将从Dropdownlist中选择其他值,我希望在不进行回发操作的情况下获得该值
我希望你能帮助我
谢谢“我希望在没有回发操作的情况下获得该值。”
如果您根本不想回发,可以在jquery中捕获下拉更改事件
<asp:DropDownList class="dropdown" ID="drop_prod" runat="server" OnSelectedIndexChanged="drop_prod_SelectedIndexChanged"></asp:DropDownList>
编辑:
您可以在页面中放置一个隐藏变量,如
<input type="hidden" id="selectedvalue" runat="server" class="ddl-value"/>
为每个dropdownlist添加一个隐藏字段,并使用javascript将隐藏字段值设置为dropdownlist值。在提交时,通过隐藏字段进行循环并获取值。获取该值是什么意思?你是说在服务器上,还是在客户机上?在服务器上是最好的选择在服务器上访问它而不进行回发的唯一方法是通过ajax。您必须在javascript中处理更改事件,并通过ajax调用将该值发送到服务器。在没有完整回发的情况下,唯一的选项是ajax。您到底想做什么?这不是必需的。如果只是将下拉列表的autopostback设置为false,则更改事件将仅在提交表单时触发,而不是在更改选择时触发。逻辑可以放在那里。谢谢,如果对你有效,我会尝试你的示例VOTEUP或mark作为答案。别忘了包括jQuery库。所以我已经尝试过了,当我改变值时,什么也没发生。老实说,我是编写asp.net网站的新手,所以也许我犯了一个愚蠢的错误。这就是脚本:$(document).ready(function(){$(“.dropdown”).change(function(){var selectedValue=$(this.val();$(“.ddl value”).val(selectedValue);};});您包括jQuery库了吗?嗯,我想是的:。如果我想从服务器端访问它,我应该把selectedvalue.Value放在哪里?
<input type="hidden" id="selectedvalue" runat="server" class="ddl-value"/>
selectedvalue.Value