小编ado*_*lot的帖子

使用C#和ASP.NET在E邮件附件中发送SQL报告

我正在尝试使用ASP.NET和C#从sql reportserver 2008发送报告作为电子邮件附件,直到现在我学会了如何在我的代码中获取PDF报告,现在我想要组合代码行

byte[] bytes = rview.ServerReport.Render(format, deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);
Response.OutputStream.Write(bytes, 0, bytes.Length);
Attachment reportAttachment = new Attachment(Response.OutputStream.Write(bytes,0,bytes.Length),"ado"); //Here I go wrong
Run Code Online (Sandbox Code Playgroud)

Thanx提前

c# asp.net reporting-services

6
推荐指数
2
解决办法
2万
查看次数

Microsoft.Reporting.WebForms.ReportViewer控件在ToolBar中添加自定义控件

有没有办法在Microsoft.Reporting.WebForms.ReportViewer控件中添加自定义控件.
我正在开发ASP.NET Web应用程序,我想在reportviewer的toolBar中添加我的自定义控件.

阅读这篇博客,看起来在WinForms中是可行的.

所以我开始编写自己的RerpotViewerClass,它继承了ReportViewer,并在开始时堆叠.看起来我无法覆盖WebForms上的OnControlAdded方法?
Shod我然后使用OnLoad()或任何其他?

   public class ReportViewerToolbarExtension : Microsoft.Reporting.WebForms.ReportViewer
    {
        protected override void OnControlAdded(ControlEventArgs e)
        {

                base.OnControlAdded(e);

        }        
    }
Run Code Online (Sandbox Code Playgroud)

Raisse错误

'Microsoft.Reporting.WebForms.ReportViewer' does not contain a definition for 'OnControlAdded'  
Run Code Online (Sandbox Code Playgroud)

另外"ControlEventArgs"对我来说是一个痛苦的部分吗?

当我尝试实现SetToolStripItems(控制c)时

我不能使用ToolStripItemCollection还有Toolstrip,因为它们属于命名空间System.Windows.Forms.
我应该参考WinForms还是Web名称空间中有模拟控件?

c# asp.net inheritance reportviewer webforms

6
推荐指数
1
解决办法
5920
查看次数

没有 identi Identity 的 Blazor 应用程序中的 RevalidatingServerAuthenticationStateProvider

我正在尝试使用cookie 身份验证而不使用 ASP.NET Core Identity来构建 Blazor 服务器端应用程序。我确实按照上面的示例成功获得了身份验证。在我的应用程序中,我跳过了services.AddIdentity应用程序,到目前为止应用程序工作没有问题,我能够登录、注销、确定用户角色等。

我不太确定我理解的是RevalidatingServerAuthenticationStateProvider类及其服务,services.AddScoped<AuthenticationStateProvider, RevalidatingIdentityAuthenticationStateProvider<AppUser>>();

Blazor 应用程序是否需要此服务才能继续与客户端通信,或者它只是安全屏障?
只要 cookie 没有过期,我就可以让客户端保持登录状态。
如果我需要RevalidatingServerAuthenticationStateProvider服务,我如何确认用户通过后有效 AuthenticationState?(查看索赔或其他内容)。

cookies asp.net-identity blazor blazor-server-side

6
推荐指数
1
解决办法
3581
查看次数

我应该如何在SQL Server 2005中使用BIT

关于SQL性能.

我有一个标量值函数用于检查base中的某些特定条件,它返回BIT值为True或False.

我现在不知道如何填写@BIT参数

如果我写.

set @bit = convert(bit,1)
Run Code Online (Sandbox Code Playgroud)

要么

set @bit = 1
Run Code Online (Sandbox Code Playgroud)

要么

set @bit='true'
Run Code Online (Sandbox Code Playgroud)

函数无论如何都会工作,但我不知道建议日常使用哪种方法.

另一个问题,我在我的基地有大约400万条记录,每日插入大约是该表中的4K记录.

现在我想在该表上添加带有标量值函数的CONSTRAINT,我已经提到过了

像这样的东西

ALTER TABLE fin_stavke
ADD CONSTRAINT fin_stavke_knjizenje CHECK ( dbo.fn_ado_chk_fin(id)=convert(bit,1))
Run Code Online (Sandbox Code Playgroud)

其中"id"是表fin_stavke的主键,dbo.fn_ado_chk_fin看起来像

create FUNCTION fn_ado_chk_fin
(
    @stavka_id int
)
RETURNS bit
AS
BEGIN
declare @bit bit

if exists (select * from fin_stavke where id=@stavka_id and doc_id is null and protocol_id is null)
        begin
            set @bit=0


        end
    else
        begin
            set @bit=1
        end
return @bit;
END
GO
Run Code Online (Sandbox Code Playgroud)

这种类型和检查约束的方法会不会影响我的表和SQL的性能?

如果还有更好的方法来增加对此表的控制,请告诉我.

sql t-sql sql-server performance sql-server-2005

5
推荐指数
1
解决办法
9313
查看次数

在C#中使用表单上的控件时何时使用THIS关键字

我仍然远离掌握C#,但我的孩子正在推动我每天继续改进我的编程.
当我创建一个WinForms应用程序时,我想要实际更改并使用大量控件.
我不明白的是当我需要使用this.control关键字时,我应该只使用control.
示例:
如果我想更改标签的文字,我可以写

mylabel.text = "Text for label"
Run Code Online (Sandbox Code Playgroud)

要么

this.mylabel.tex = "Text for label"
Run Code Online (Sandbox Code Playgroud)

以下哪一种是正确的方法?this在WinForms中使用控件时(例如数据网格,文本,表格等),何时使用关键字有一个简单的解释?

.net c# this-pointer winforms

5
推荐指数
2
解决办法
1344
查看次数

适用于WinForms的ReportViewer(.rdlc)灯光设计师

Visual Studio旁边是否还有其他ReportViewer设计器(当然我用GUI知道任何XML/TEXT编辑器都可以更改.rdlc文件的定义)?
有一天,当我完成我的胖(胖)客户端应用程序时,我喜欢尝试嵌入报表设计器,因此最终用户可以在不安装Visual Studio的情况下对其报表文件进行化妆品修改.
子问题,这个功能有CrystalReport服务吗?

reporting reportviewer reporting-services winforms

4
推荐指数
1
解决办法
1万
查看次数

在WebForm中跳过SqlDataSource中sql参数的设置值

我正在asp.net中创建一个WebForm,我想用asp中的数据显示gridview:SqlDataSource
当我尝试跳过(传递null)某些参数的值时,我的问题变成了.

这是我的代码的一些片段

在aspx文件中sqldatasource看起来像

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
        SelectCommand="art_bat_art" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:Parameter Name="art_naz" DefaultValue="HLA"  ConvertEmptyStringToNull="true" Type="String" />
            <asp:Parameter Name="art_sifra"     DbType="String"  Direction="Input"/>
            <asp:Parameter Name="vrsta_id" DefaultValue="3"   ConvertEmptyStringToNull="true" Type="Int32" />     
            <asp:Parameter Name="podvrsta_id" DefaultValue="13"   ConvertEmptyStringToNull="true" 
                Type="Int32"  />
            <asp:Parameter Name="podgrupa2"  DefaultValue="1365"   ConvertEmptyStringToNull="true" Type="Int32"      /> 
            <asp:Parameter Name="podosobine"   DefaultValue="1:9241"  ConvertEmptyStringToNull="true" 
                Type="String"  />
            <asp:Parameter Name="podosobineOR" DefaultValue="true"   ConvertEmptyStringToNull="true" 
                Type="Boolean"  />
        </SelectParameters>
Run Code Online (Sandbox Code Playgroud)

我的网格看起来像这样:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="id" DataSourceID="SqlDataSource1">
Run Code Online (Sandbox Code Playgroud)

代码后面出现问题我的存储过程的一个参数是可选的,如果我在SQL中将它作为null传递,那么无论如何都会执行存储过程.

我试图跳过并传递该参数如下

public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {


        }
        protected void …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview sqldatasource

4
推荐指数
1
解决办法
4466
查看次数

相反的数学能力添加数字的方法

我有将Booleans数组转换为整数的方法.看起来像这样

class Program
    {
        public static int GivMeInt(bool[] outputs)
        {
            int data = 0;
            for (int i = 0; i < 8; i++)
            {
                data += ((outputs[i] == true) ? Convert.ToInt32(Math.Pow(2, i)) : 0);
            }
            return data;

        }

        static void Main(string[] args)
        {
            bool[] outputs = new bool[8];
            outputs[0] = false;
            outputs[1] = true;
            outputs[2] = false;
            outputs[3] = true;
            outputs[4] = false;
            outputs[5] = false;
            outputs[6] = false;
            outputs[7] = false;
            int data = GivMeInt(outputs);
            Console.WriteLine(data);
            Console.ReadKey();
        }
   } …
Run Code Online (Sandbox Code Playgroud)

c# math

3
推荐指数
1
解决办法
774
查看次数

如何证明在SQL中使用子选择查询会破坏服务器的性能

我的工作之一就是维护我们的数据库,通常我们在获取报告和工作时会遇到性能不足的麻烦.
当我开始查看我们的ERP发送到数据库的查询时,我在主查询中看到了很多完全不必要的子查询.
因为我不是我们使用的程序创建者的开发人员,所以当我批评他们的代码和工作时,他们并不喜欢.让我们说他们不把我的评论作为严肃的陈述.所以我问你几个关于SQL中subselect的问题

subselect是否需要花费更多时间才能留下外连接?
是否存在任何博客,文章或我推荐不使用的任何内容?
我怎样才能证明,如果我们在查询中避免使用subselesct查询会更快?

我们的数据库服务器是MSSQL2005

sql performance database-design sql-subselect

3
推荐指数
1
解决办法
969
查看次数

最小化侧边栏中的默认 Blazor 导航菜单

有没有办法在 Blazor 应用程序中最小化(隐藏)默认侧边栏(导航菜单)。我确实使用 .Net core 3.1 模板创建了 blazor 应用程序。主要布局看起来像

@inherits LayoutComponentBase

<div class="sidebar">
    <NavMenu />
</div>

<div class="main">
    <div class="top-row px-4 auth">

        <LoginDisplay />
        <a href="https://learn.microsoft.com/aspnet/" target="_blank">About</a>
    </div>

    <div class="content px-4">
        @Body
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试在顶行内添加汉堡包按钮,该按钮将折叠 - 显示导航菜单。

sidebar bootstrap-4 blazor

3
推荐指数
1
解决办法
2万
查看次数