我想使用服务器标签<%#%>从设计端设置按钮控件的可见属性。我可以通过检查查询字符串模式值来完成页面加载方法中的代码,如下所示:
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;
----
}
}
现在不是从代码后面编写代码,而是想从服务器标签检查查询字符串模式值,返回的结果将设置为按钮的Visible属性。
我试过这种方式,但没有运气!
<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") %>'/>
它运行时没有任何解析器错误,但根本没有任何影响。谁能告诉我如何实现这个功能?提前谢谢。
答案 0 :(得分:1)
在DataBind()
中调用Page_Load
方法:
protected void Page_Load(object sender, EventArgs e)
{
DataBind();
}
然后使用此语法在aspx代码中设置Visible
属性:
Visible='<%# Request.QueryString["mode"] == "2" %>'
答案 1 :(得分:0)
使用
怎么样?Visible='<% Request.QueryString.Get("mode") == "1"? "true": "false"%>'
或
Visible='<% if (Request.QueryString.Get("mode") == "1" ) "true" else "false" %>'
答案 2 :(得分:0)
Visible='<%# Request.QueryString.Get("mode").Equals("1") ? Convert.ToBoolean("False") : Convert.ToBoolean("True") %>'