单击另一个按钮时显示按钮

时间:2017-03-23 10:05:15

标签: javascript c# jquery asp.net linkbutton

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

4 个答案:

答案 0 :(得分:0)

当你单击btnSearch(客户端点击)并且它返回false时,你是在调用JS函数吗??

如果没有尝试删除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回答