【问题标题】:server side code not firing after adding jQuery UI添加 jQuery UI 后服务器端代码未触发
【发布时间】:2018-08-25 10:55:31
【问题描述】:

我有一个 ASP.Net 下拉列表

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                </asp:DropDownList>

它在回发时执行此代码

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    //my code here
}

但是,当我向它添加 jquery 时,这个下拉列表没有做回发。

<script>
    $('#<%=DropDownList1.ClientID%>').selectmenu();
</script>  

我该怎么办?我想添加 jquery 并执行回发服务器代码。

【问题讨论】:

  • selectmenu(); 中的代码是什么,能否请您也提供一下
  • @PranayRana 在 selectmenu() 中什么都没有,实际上它只是将 asp.net 下拉菜单的设计更改为 jquery 下拉菜单。我写错了吗?
  • 检查生成的 HTML。我 99% 确定 jQuery UI 插件正在改变事件
  • 我不明白。我需要检查什么?
  • 在您选择的浏览器中打开页面并检查 HTML - 通过开发人员控制台(通常为 F12)

标签: c# jquery asp.net jquery-ui webforms


【解决方案1】:

尝试如下更改事件触发可以触发服务器端事件

document.getElementById('<%= DropDownList1.ClientID %>').onchange();

$('#<%=DropDownList1.ClientID%>').change(function() { return true;});

或者这也有帮助,它卖的方式,我不太喜欢它,如果它上面一个不起作用,请尝试

$('#<%=DropDownList1.ClientID%>').change(function() {
  __doPostBack("<%#=DropDownList1.ClientID %>","");
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多