GVKun编程网logo

.net – 从webforms将参数传递给Crystal报表(.net传递参数的方法)

11

如果您想了解.net–从webforms将参数传递给Crystal报表和.net传递参数的方法的知识,那么本篇文章将是您的不二之选。我们将深入剖析.net–从webforms将参数传递给Crystal

如果您想了解.net – 从webforms将参数传递给Crystal报表.net传递参数的方法的知识,那么本篇文章将是您的不二之选。我们将深入剖析.net – 从webforms将参数传递给Crystal报表的各个方面,并为您解答.net传递参数的方法的疑在这篇文章中,我们将为您介绍.net – 从webforms将参数传递给Crystal报表的相关知识,同时也会详细的解释.net传递参数的方法的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

.net – 从webforms将参数传递给Crystal报表(.net传递参数的方法)

.net – 从webforms将参数传递给Crystal报表(.net传递参数的方法)

我有一个报告,我想在网络表单上显示它.没有参数的报告工作得很好而且很好.带参数的报告让我感到头痛.这是我用BindReport方法编写的代码,它在窗体的页面加载事件中调用.

ReportDocument rpt = new ReportDocument();
    rpt.Load(Server.MapPath("rptPositionwiseMontwiseActualSale.rpt"));
    rpt.FileName = Server.MapPath("rptPositionwiseMontwiseActualSale.rpt");
    rpt.SetParameterValue("CompanyName","Cirin Pharmaceutical Pvt. Limited".ToString());
    rpt.SetParameterValue("ReportTitle","PositionWise MonthWise Sales".ToString());
    rpt.SetParameterValue("parameters","Year:2011".ToString());
    //CrystalReportViewer1.ParameterFieldInfo = paramFields;
    DataSet ds = getReportData();
    rpt.SetDataSource(ds.Tables[0]);
    CrystalReportViewer1.ReportSource = rpt;
    CrystalReportViewer1.ReuseParameterValuesOnRefresh = true;

    //CrystalReportViewer1.RefreshReport();

我已经尝试了各种各样的事情,比如将ParameterFieldInfo分配给reportviewer控件,但它会显示我在页面加载时提示询问报告的参数值.我使用的是.NET 4.0
编辑我使用推模型进行水晶报告.它是否会改变我们将参数传递给asp.net报告的方式
 谢谢

解决方法

在运行时为ASP.NET设置参数值时,我认为您需要做的工作比调用SetParameterValue多一些

string rptTitle = "This is Report Title";

rpt.SetParameterValue("ReportTitle",rptTitle);

ParameterdiscreteValue val = new ParameterdiscreteValue();
val.Value = rptTitle;

ParameterValues paramVals = new ParameterValues();

paramVals.Add(val);

rpt.ParameterFields["ReportTitle"].CurrentValues = paramVals;

rpt.DataDeFinition.ParameterFields[0].ApplyCurrentValues(paramVals);

这可能有点矫枉过正,但实际上确实有用,对我来说也是如此.您必须确保参数名称完全匹配.

.NET Core DI,将参数传递给构造函数的方法

.NET Core DI,将参数传递给构造函数的方法

具有以下服务构造函数

public class Service : IService{     public Service(IOtherService service1, IAnotherOne service2, string arg)     {         }}

使用 .NET Core IOC 机制传递参数有哪些选择

services.AddSingleton<IOtherService , OtherService>();services.AddSingleton<IAnotherOne , AnotherOne>();services.AddSingleton<IService>(x =>    new Service(        services.BuildServiceProvider().GetService<IOtherService>(),        services.BuildServiceProvider().GetService<IAnotherOne >(),        ""));

还有其他方法吗?

答案1

小编典典

工厂委托的表达式参数(在本例中为 x )是一个IServiceProvider.

使用它来解决依赖关系:

_serviceCollection.AddSingleton<IService>(x =>     new Service(x.GetRequiredService<IOtherService>(),                x.GetRequiredService<IAnotherOne>(),                 ""));

工厂委托是延迟调用。每当要解析类型时,它将完整的提供者作为委托参数传递。

ASP.NET MVC与Webforms:替换WebForms控件

ASP.NET MVC与Webforms:替换WebForms控件

我已经读了几个其他的帖子,所以我得到了pro与cons的想法,特别是完全控制渲染的HTML代码等(在MVC).

我的问题是关于UI控件:在MVC中,我必须自己编写所有的UI控件(或html等价物).现在是不是很难?
为什么这些ASP.NET的第三方供应商在这里的原因只是因为很难自己编写ASP.NET的UI控件,并且能够定位到所有的Web浏览器,而且我们也是更好地集中我们的时间在业务逻辑,而不是花费大量的时间编写UI自己控制HTML代码.

我知道这个功能使我们能够完全控制最终的html,但是自己做这个UI是不会有效的.如果自己写得很容易,那么这些第三方派对厂商现在怎么都会生活在这里.我们可以在这几年的WebForms日子里自己做这些.

我相信我在这里缺少一些东西,或者是有点愚蠢,但是请告诉我关于我自己写的UI的具体内容,我错过了什么.

只是因为我通过写入IL代码来完全控制程序,我们去做吗?我们仍然使用C#和类似的东西 – 所以“完全控制html”的理论 – 我不是买这个想法.

请帮助我的头围绕这个UI位.
其他事情我明白,关于分离关注,基于TDD的开发可能与MVC等
但是为什么我会自己去编写UI控件呢?这有点不行吗?

解决方法

事情是:

如果你想掌握Web开发,你必须掌握HTML CSS Javascript

使用WebForms,您必须学习WebForms的方法,但是使用MVC,您可以自由地生成所需的HTML CSS JavaScript.

ASP.NET Webforms中的ViewState替代项

ASP.NET Webforms中的ViewState替代项

还有其他ViewState替代品吗?我听过很多会话,保持页面控件的某些状态,并在用户离开页面时被破坏.

我知道我正在描述ViewState本身,但我正在寻找一种类型或建议的模式,所以我可以完全避免使用ViewState.

我如何使用它的一个例子是我将我的网格内容(viewmodel列表)存储到ViewState.这有助于了解哪些条目是脏的,哪些条目已被修改,它们的索引,当前选择的对象等.

解决方法

我的一位同事开发了一种将视图状态数据存储在文件中的方法.因此,在客户端和服务器之间不传输繁重的视图状态数据.只是表示视图状态数据文件的密钥(即视图状态数据文件)作为会话变量保存.在我们的测试中,我们发现在文件中保存视图状态会减少服务器响应时间,从而减少视图状态的数量(这是非常大的).

在“保持服务器上的视图状态”下的这个article中,您可以了解如何实现该方法.您甚至可以将视图状态数据存储在数据库表中,如果您的应用程序位于Web场中,则可以提供额外的灵活性.

asp.net webforms路由:可选参数

asp.net webforms路由:可选参数

我想在我的路由表中添加可选参数.
例如,我希望用户浏览这样的产品目录:
http://www.domain.com/browse/by-category/electronics/1,3等

现在我创建了一个这样的路由:

routes.MapPageRoute(
           "Productsbrowse","browse/{browseBy}/{Category}","~/Pages/Products/browse.aspx"
        );

不过,问题是,当用户输入http://www.domain.com/browse时,我希望他们提供一个不同的页面,他们可以选择如何浏览的方式.所以不会使用参数{browseBy}和{Category}.

有没有办法为每个场景创建单独的路线?

感谢您的时间!
亲切的问候,
标记

解决方法

我只是创建单独的路线.

也就是说,您可以根据您定义的惯例定义一个自定义的RouteHandler,自动发送这些特殊情况,就像您有不同的路由一样.

或者,您可以使用自定义的RouteHandler和约定,以避免在路线中指定特定页面.这相当于asp.net MVC所做的.

今天关于.net – 从webforms将参数传递给Crystal报表.net传递参数的方法的分享就到这里,希望大家有所收获,若想了解更多关于.NET Core DI,将参数传递给构造函数的方法、ASP.NET MVC与Webforms:替换WebForms控件、ASP.NET Webforms中的ViewState替代项、asp.net webforms路由:可选参数等相关知识,可以在本站进行查询。

本文标签: