简体   繁体   English

将查询字符串结果绑定到服务器标签并设置按钮的可见属性

[英]Bound query string result to server tag and set visible property of button

I want to set visible property of button control from design side using server tag <%# %>. 我想使用服务器标记<%#%>从设计端设置按钮控件的可见属性。 I can do it from code behind in page load method by checking query string mode value like below: 我可以通过检查查询字符串模式值,从页面加载方法后面的代码中完成此操作,如下所示:

if (!IsPostBack)
                {
                    ---

                    if (Request.QueryString["mode"] != null && Request.QueryString["mode"] == "1")
                    {
                        btndelete.Visible = false;
                        ----
                    }
                    else if (Request.QueryString["mode"] != null && Request.QueryString["mode"] == "2")
                    {
                        btndelete.Visible = true;
                        ----    
                    }
                }

Now instead of writing code from code behind i want to check query string mode value from server tag and returned result will be set to Visible property of button. 现在,而不是从后面的代码编写代码,我想从服务器标记检查查询字符串模式值,并将返回的结果设置为按钮的Visible属性。

I have tried this way but No Luck! 我已经尝试过这种方式,但是没有运气!

<asp:Button ID="btndelete" CausesValidation="false" Text="<%$Resources:General,Delete%>" OnClick="btndelete_Click"
                                runat="server" CssClass="btnstyle" OnClientClick="showConfirm(this,'mdlAttendanceReportCriteriaDelete'); return false;" 
                                Visible='<%#if(Request.QueryString["mode"].ToString() == "1"){Convert.ToBoolean("false")}else{Convert.ToBoolean("true")} %>'/>



 <asp:Button ID="btndelete" CausesValidation="false" Text="<%$Resources:General,Delete%>" OnClick="btndelete_Click"
                                runat="server" CssClass="btnstyle" OnClientClick="showConfirm(this,'mdlAttendanceReportCriteriaDelete'); return false;" 
                                Visible='<%#(Request.QueryString["mode"].ToString() == "1")?Convert.ToBoolean("false"):Convert.ToBoolean("true") %>'/>


<asp:Button ID="btndelete" CausesValidation="false" Text="<%$Resources:General,Delete%>" OnClick="btndelete_Click"
                                runat="server" CssClass="btnstyle" OnClientClick="showConfirm(this,'mdlAttendanceReportCriteriaDelete'); return false;" 
                                Visible='<%#!(Request.QueryString["mode"].ToString() == "1") %>'/>

It run without any parser error but there is no effect at all. 它运行时没有任何解析器错误,但是完全没有效果。 Can anybody tell me how to achieve this functionality ?! 谁能告诉我如何实现此功能? Thanks in advance. 提前致谢。

Call DataBind() method in Page_Load : Page_Load调用DataBind()方法:

protected void Page_Load(object sender, EventArgs e)
{
    DataBind();
}

then use this syntax to set the Visible property in aspx code: 然后使用以下语法在aspx代码中设置Visible属性:

Visible='<%# Request.QueryString["mode"] == "2" %>'

What about using 那使用呢

Visible='<% Request.QueryString.Get("mode") == "1"? "true": "false"%>'

or 要么

Visible='<% if (Request.QueryString.Get("mode") == "1" ) "true" else "false" %>'
Visible='<%# Request.QueryString.Get("mode").Equals("1") ? Convert.ToBoolean("False") : Convert.ToBoolean("True") %>'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM