gpt4 book ai didi

C# ASP.NET 在 ASP.NET 中使用代码隐藏的 boolean 变量

转载 作者:行者123 更新时间:2023-12-03 11:54:01 25 4
gpt4 key购买 nike

我知道如何在代码后面使用字符串变量并在网页上显示该字符串。我想做的是相似的,除了我不想显示字符串,而是想将 boolean 值从代码后面传递到 ASP.NET 页面,以便它的 true/false 值可以控制打印按钮(true/false)在报表查看器中。我的诊断的工作原理是它显示字符串“True”或“False”,哪个是正确的。 “ShowPrintButton”和“ShowExportControls”只是不起作用,按钮未启用。我需要在这里做什么?我认为该值正在传递,但也许它是作为字符串传递的,我需要做一些事情以使其作为 boolean 值传递....

这是代码...

代码隐藏:

    //Variables
public Boolean exportEnabled { get; set; }
public Boolean printEnabled { get; set; }

//Page Load
protected void Page_Load(object sender, EventArgs e)
{
// Add a handler for SubreportProcessing
reportViewerPrintAndExport.LocalReport.SubreportProcessing +=
new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);

if (!IsPostBack)
{
// Display the report
DisplayReport(Session[SessionKeys.KEY_CERT_NO].ToString(), (CalibrationType)Session[SessionKeys.KEY_CERT_TYPE]);
}
DataBind();
}

private void DisplayReport(string certNo, CalibrationType calType)
{
string[] rolesList = Roles.GetRolesForUser();

//manage print and export buttons.
if ((rolesList.Contains("admin")) || (rolesList.Contains("Admin")))
{
exportEnabled = true;
printEnabled = true;
}
else if ((rolesList.Contains("Operator")) || (rolesList.Contains("operator")))
{
exportEnabled = false;
printEnabled = false;
}
}

aspx:

<!-- DIAGNOSTIC -->
<asp:label runat="server" text="-" /><asp:label runat="server" text="<%# printEnabled %>" /><asp:label runat="server" text="-" />

<asp:Panel ID="ReportPanelPrintAndExport" runat="server" HorizontalAlign="Left">

<!--Why does this not work? -->
<rsweb:ReportViewer ShowPrintButton="<%# printEnabled %>" ShowExportControls="<%# exportEnabled %>" ID="reportViewerPrintAndExport" runat="server" Height="100%" Width="100%"
ShowBackButton="False" ZoomMode="FullPage"
ShowRefreshButton="False" ProcessingMode="Local">
</rsweb:ReportViewer>

最佳答案

在你后面的代码中,只需在任何你想设置的地方设置该属性

    if ((rolesList.Contains("admin")) || (rolesList.Contains("Admin")))
{
reportViewerPrintAndExport.ShowPrintButton = true;
reportViewerPrintAndExport.ShowExportControls = true;
}
else if ((rolesList.Contains("Operator")) || (rolesList.Contains("operator")))
{
reportViewerPrintAndExport.ShowPrintButton = false;
reportViewerPrintAndExport.ShowExportControls = false;
}

没有必要在客户端尝试这样做。

关于C# ASP.NET 在 ASP.NET 中使用代码隐藏的 boolean 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com