我在过滤器上有一个搜索按钮,当点击它时,我需要显示另一个按钮。此按钮不会触发回发,因此页面不会刷新,按钮也不会显示。当页面首次加载名为DelStatus的bool时,设置为true。单击搜索按钮后,如果这是真的,我需要显示btnEPODToExcel
。我尝试过更改样式,更改可见性以及更改javascript中的显示:
protected void btnSearch_Click(object sender, EventArgs e)
{
if (DelStatus == true)
{
btnEPODToExcel.Attributes.Add("style", "display:block");
btnEPODToExcel.Visible = true;
ClientScript.RegisterClientScriptBlock(this.GetType(), "Message",
"<script>$(document).ready(function () { ShowEPODExcel();});</script>");
}
}
JavaScript的:
function ShowEPODExcel()
{
document.getElementById('<%= btnEPODToExcel.ClientID %>').style.display= "block";
$('#<%= btnEPODToExcel.ClientID %>').show();
}
按钮:
<asp:LinkButton runat="server" ID="btnEPODToExcel" CssClass="btnToExcel" Width="100px" ToolTip="Download Result to Excel" OnClick="btnEPODToExcel_Click" Text="EPODs to Excel" />
答案 0 :(得分:0)
如果没有尝试删除btnSearch_Click方法并重新创建它
答案 1 :(得分:0)
如果使用JQuery没有问题,可以试试。
$(document).ready(function () {
$("#btnSearchClick").on('click', function () {
window.alert("Hello");
document.getElementById('btnEPODToExcel').style.display = "block";
$('btnEPODToExcel').show();
return false;
});
});
但它不会简单地回复。如果你想做一个回发动作,我唯一的建议是持有一个Session来显示或隐藏这个按钮。在btnSearchClick_Click
方法和会话值中更改会话值,在Page_Load
上设置按钮显示。
如果您甚至没有收到“Hello”警告,可能是您在向表单添加Javascript时出错了。
答案 2 :(得分:0)
假设调用了btnSearch_Click。我建议您对代码进行以下更改。
按钮强>:
<asp:LinkButton runat="server" ID="btnEPODToExcel" style="display:none" Width="100px" ToolTip="Download Result to Excel" OnClick="btnEPODToExcel_Click" Text="EPODs to Excel" />
<强>代码隐藏强>:
if (DelStatus == true)
{
btnEPODToExcel.Attributes.Add("style", "display:block");
}
希望这有帮助。
答案 3 :(得分:0)
如果Nothing对您有用,则将Delstatus的值存储在隐藏字段而不是bool中,而不是使用javascript进行播放。 另一种方法是尝试@kalyan Basa回答