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

标签 c# asp.net

我想使用服务器标记 <%# %> 从设计端设置按钮控件的可见属性。我可以通过检查查询字符串模式值来从页面加载方法中的代码中完成,如下所示:

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/

相关文章:

c# - 如何使用类作为基础,但公开隐藏类类型?

asp.net - 相当于 Sitecore 中的 Razor 部分助手

c# - ASP.NET 中的警报消息

c# - 更新数据库中的第一行 C# mysql

c# - NHibernate Session.Flush() 在没有发生更新时发送更新查询

c# - Entity Framework : Set nullable to false, 但类型仍可为空

c# - 是否可以设置 asp.net gridview 单元格的背景?

c# - 将文本框输入翻译成西类牙语、中文、德语

c# - 是否可以在 ASP.NET MVC 中将命名空间分组到一个文件中?

c# - 运行 7-Zip 时禁止显示 Windows 安全警告