我想使用服务器标记 <%# %> 从设计端设置按钮控件的可见属性。我可以通过检查查询字符串模式值来从页面加载方法中的代码中完成,如下所示:
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") %>'/>
它运行时没有任何解析器错误,但根本没有任何效果。谁能告诉我如何实现此功能?!提前致谢。
最佳答案
在Page_Load
中调用DataBind()
方法:
protected void Page_Load(object sender, EventArgs e)
{
DataBind();
}
然后使用此语法在 aspx 代码中设置 Visible
属性:
Visible='<%# Request.QueryString["mode"] == "2" %>'
关于c# - 将查询字符串结果绑定(bind)到服务器标签并设置按钮的可见属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21133114/