加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 19:49:34 所属栏目:asp.Net 来源:网络整理
导读:我在我的页面上有Dropdownlist,并在代码隐藏文件(.cs)中创建了selectedindexchanged方法. 我想用A标签创建假回传(onmouSEOver事件). 首先,我查看了HTML的来源. select name="ctl00$cpholder_ana$ddlFaturaNolar" onchange="javascript:setTimeout('__doPostB
我在我的页面上有Dropdownlist,并在代码隐藏文件(.cs)中创建了selectedindexchanged方法.

我想用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)"

而且,我创建了一个带有鼠标悬停事件的标签(用于制作Postback但是由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 %>','');

编辑2:添加鲍勃所说的,你可以使用隐藏的服务器控件.我建议你使用asp:Hidden控件并挂钩它的OnValueChanged事件.因此,只要您想将页面发布回服务器,就必须更改隐藏变量的值.这样您就不必使用隐藏按钮了.

document.getElementById("<%= hiddenField.UniqueID %>").value = (new Date()).getTime();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读