gpt4 book ai didi

asp.net - 如何使用javascript生成假回发?

转载 作者:行者123 更新时间:2023-12-04 17:05:54 26 4
gpt4 key购买 nike

我的页面上有 Dropdownlist,它的 selectedindexchanged 方法是在代码隐藏文件 (.cs) 中创建的。

我想用 A 标签(onmouseover 事件)创建假回发。

首先,我查看了 html 的来源。

<select name="ctl00$cpholder_ana$ddlFaturaNolar" onchange="javascript:setTimeout('__doPostBack(\'ctl00$cpholder_ana$ddlFaturaNolar\',\'\')', 0)" id="ctl00_cpholder_ana_ddlFaturaNolar">
<option selected="selected" value="CHOOSE"></option>
<option value="001926">[ 30.04.2009 - 156.492,00 TL ] 001926</option>
</select>
  • 然后我复制了
    onchange="javascript:setTimeout('__doPostBack(\'ctl00$cpholder_ana$ddlFaturaNolar\',\'\')', 0)" 

  • 并且,我创建了一个带有鼠标悬停事件的标签(以进行回发,但它被 Dropdownlist 触发)
    <a onmouseover="javascript:setTimeout('__doPostBack(\'ctl00$cpholder_ana$ddlFaturaNolar\',\'\')', 0)">asdasdasdasdad</a>

    但它没有下降到 SelectedIndexChanged 方法。
  • 首先,为什么?
  • 其次,我该怎么做?

  • 从现在开始谢谢。

    最佳答案

    您可以使用此代码片段 -

    __doPostBack('<%= dropdownlist.UniqueID %>', '');

    您不能使用硬编码的唯一 ID,因为它们可能因多种原因而更改。例如如果父控件的 id 更改等,id 将更改。您必须使用上面给出的代码从服务器端获取呈现的 UniqueID。

    编辑:忘了提及一件重要的事情。只有当下拉列表的 selectedIndex 更改时,页面才会回发 :) 因此,如果您想触发该事件,请使用此更改下拉列表的索引,然后调用 __doPostBack代码 -
    document.getElementById("<%= dropdownlist.UniqueID %>").selectedIndex = 1;
    __doPostBack('<%= dropdownlist.UniqueID %>', '');

    EDIT2:添加 Bob 所说的内容,您可以使用隐藏的服务器控件。我建议您使用 asp:Hidden 控件并连接其 OnValueChanged 事件。因此,无论何时您想将页面发布回服务器,您只需更改隐藏变量的值。这样您就不必使用隐藏按钮。
    document.getElementById("<%= hiddenField.UniqueID %>").value = (new Date()).getTime();

    关于asp.net - 如何使用javascript生成假回发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910485/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com