2017-03-23 168 views
0

我在过滤器上有一个搜索按钮,当点击它时我需要显示另一个按钮。此按钮不会触发回发,因此页面不会刷新,并且按钮不会显示。当页面第一次加载一个叫做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" /> 
+1

您是否尝试启动警报以确保您的脚本运行良好? 有没有关于使用jQuery的onclick函数的问题? – ReadyFreddy

+0

检查您的函数ShowEPODExcel是否被调用。如果执行,则在渲染后检查按钮的属性。 –

+0

@ReadyFreddy ShowEPODExcel函数没有被调用。在某个地方犯了一个错误? – user123456789

回答

0

你调用JS功能时btnSearch点击(客户端点击),它返回false ..?

如果不尝试删除btnSearch_Click方法并重建

+0

这似乎是一个评论,而不是一个答案 –

+0

因为我不能在这个时刻评论任何地方,除了在我的答案;) –

0

如果没有关于使用JQuery问题,你可以试试。

$(document).ready(function() { 

    $("#btnSearchClick").on('click', function() { 
     window.alert("Hello"); 
     document.getElementById('btnEPODToExcel').style.display = "block"; 
     $('btnEPODToExcel').show(); 
     return false; 
    }); 
}); 

但它不会简单地回发。如果你想做回发动作,我唯一的建议可以是持有会话来显示或隐藏这个按钮。通过btnSearchClick_Click方法和按会话值更改会话值,在Page_Load上设置按钮显示。

如果你甚至没有得到“你好”的提醒,可能你在向表单添加Javascript时犯了一个错误。

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"); 

} 

希望这有助于。

0

如果没有任何工作可以比将Delstatus的值存储在隐藏字段而不是bool中,而不是使用javascript进行播放。 另一种方法是尝试@kalyan巴萨回答

相关问题