Ewa*_*wan 2 c# asp.net variables boolean
我知道如何使用从代码到后面的String变量,并在网页上显示该字符串.我想要做的是类似的,除了不是显示字符串,我想将代码后面的布尔值传递给ASP.NET页面,以便它的'true/false值可以控制Print按钮(true/false)在ReportViewer中.我的诊断工作在于它显示字符串"True"或"False",这是正确的."ShowPrintButton"和"ShowExportControls"虽然不起作用,但按钮未启用.我需要做什么?我认为值正在传递,但也许它是作为字符串传递的,我需要做一些事情让它作为布尔值传递....
这是代码......
代码背后:
//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;
}
}
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
在你的代码中,只需在任何地方设置该属性即可
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;
}
Run Code Online (Sandbox Code Playgroud)
没有必要尝试在客户端这样做.
| 归档时间: |
|
| 查看次数: |
1848 次 |
| 最近记录: |