dropdownlist 第一次选择值,有反应,第二次没反应

w3c112 2014-08-31 03:34:54
这是我的控件:dropdownlist

页面代码:

后台代码:


问题:
当我选择“测试版弹出窗口”,然后当我把弹出的窗口关闭后 ,列表的控件的值依然是“测试版” ,此时我再点下拉控件选择“测试版”时,没有任何反应。

请指教····
...全文
191 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小蜗牛1 2014-09-02
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
你用的事件是IndexChanged 如果Index没有变化,当然不回发,事件函数也不会执行
同意楼上,text必须发生变化才会触发。
duli_2351304379 2014-09-02
  • 打赏
  • 举报
回复
使用DropDownList设置库存量是否停止销售 //DropDownList控件设置 <asp:TemplateField HeaderText="是否停售"> <EditItemTemplate> <asp:DropDownList ID="ddlSellState" runat="server" AutoPostBack="True"> <asp:ListItem Value="True">停售</asp:ListItem> <asp:ListItem Value="False">不停售</asp:ListItem> </asp:DropDownList> </EditItemTemplate> //视图GridView事件设置 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" DataKeyNames="产品编号" ShowFooter="True" Width="642px" OnRowCreated="GridView1_RowCreated" OnRowDataBound="GridView1_RowDataBound" onpageindexchanging="GridView1_PageIndexChanging" PageSize="5" onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating" //触发下拉框功能实现是否销售 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { int ID=int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString()); bool PaperState = bool.Parse(((DropDownList)GridView1.Rows[e.RowIndex].FindControl("ddlSellState")).SelectedValue); string strsql = "UPDATE tb_OrderForm SET 是否停售 = @SellState WHERE 产品编号= @ID"; SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); conn.Open(); SqlCommand comm = new SqlCommand(strsql, conn); comm.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int, 4)); comm.Parameters["@ID"].Value = ID; comm.Parameters.Add(new SqlParameter("@SellState", SqlDbType.Bit, 1)); comm.Parameters["@SellState"].Value = PaperState; if (Convert.ToInt32(comm.ExecuteNonQuery()) > 0) { Response.Write("<script language=javascript>alert('设置成功!');location='Default.aspx'</script>"); } else { Response.Write("<script language=javascript>alert('设置失败!');location='Default.aspx'</script>"); } //取消编辑操作 GridView1.EditIndex = -1; //调用自定义方法DbBind()重新绑定GridView控件中信息 DbBind(); }
an楠 2014-09-01
  • 打赏
  • 举报
回复
你的目标是每次点测试版都会弹出窗口。 但是你第二次点的时候Index没有改变 所以不会触发事件
dd_zhouqian 2014-09-01
  • 打赏
  • 举报
回复
楼主参考下我的博客 http://blog.csdn.net/dd_zhouqian/article/details/38683455 看看有否帮助
饕餮123 2014-09-01
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
你用的事件是IndexChanged 如果Index没有变化,当然不回发,事件函数也不会执行
真相,虽然我不看好楼主的用法
於黾 2014-09-01
  • 打赏
  • 举报
回复
你用的事件是IndexChanged 如果Index没有变化,当然不回发,事件函数也不会执行
w3c112 2014-09-01
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
你要是能够判断什么有关系,还用提出这种诡异问题吗? 你自己判断吧。
你要不懂,请直接说好吗?你这个人在CSDN论坛我多少了解, 没什么水平就不说你了。还总回些小白回复。
  • 打赏
  • 举报
回复
你要是能够判断什么有关系,还用提出这种诡异问题吗? 你自己判断吧。
w3c112 2014-08-31
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
至少按照基本的 html 语法规范,你在 SelectedIndexChanged 方法中输出的代码是不合语法的。你应该使用 RegisterStartupScript来输出。 http://msdn.microsoft.com/zh-cn/library/z9h4dk8y(v=vs.100).aspx 好好看看输出到浏览器端的 html 源代码,看看还是你之前学习过的 html 吗?代码都写在 <html></html>内容内部吗?
哦 那请问 你这个 跟我的问题有关系吗?
  • 打赏
  • 举报
回复
至少按照基本的 html 语法规范,你在 SelectedIndexChanged 方法中输出的代码是不合语法的。你应该使用 RegisterStartupScript来输出。 http://msdn.microsoft.com/zh-cn/library/z9h4dk8y(v=vs.100).aspx 好好看看输出到浏览器端的 html 源代码,看看还是你之前学习过的 html 吗?代码都写在 <html></html>内容内部吗?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧