我正在尝试使用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提前
有没有办法在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名称空间中有模拟控件?
我正在尝试使用cookie 身份验证而不使用 ASP.NET Core Identity来构建 Blazor 服务器端应用程序。我确实按照上面的示例成功获得了身份验证。在我的应用程序中,我跳过了services.AddIdentity应用程序,到目前为止应用程序工作没有问题,我能够登录、注销、确定用户角色等。
我不太确定我理解的是RevalidatingServerAuthenticationStateProvider类及其服务,services.AddScoped<AuthenticationStateProvider, RevalidatingIdentityAuthenticationStateProvider<AppUser>>();
Blazor 应用程序是否需要此服务才能继续与客户端通信,或者它只是安全屏障?
只要 cookie 没有过期,我就可以让客户端保持登录状态。
如果我需要RevalidatingServerAuthenticationStateProvider服务,我如何确认用户通过后有效 AuthenticationState?(查看索赔或其他内容)。
关于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的性能?
如果还有更好的方法来增加对此表的控制,请告诉我.
我仍然远离掌握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中使用控件时(例如数据网格,文本,表格等),何时使用关键字有一个简单的解释?
Visual Studio旁边是否还有其他ReportViewer设计器(当然我用GUI知道任何XML/TEXT编辑器都可以更改.rdlc文件的定义)?
有一天,当我完成我的胖(胖)客户端应用程序时,我喜欢尝试嵌入报表设计器,因此最终用户可以在不安装Visual Studio的情况下对其报表文件进行化妆品修改.
子问题,这个功能有CrystalReport服务吗?
我正在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) 我有将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) 我的工作之一就是维护我们的数据库,通常我们在获取报告和工作时会遇到性能不足的麻烦.
当我开始查看我们的ERP发送到数据库的查询时,我在主查询中看到了很多完全不必要的子查询.
因为我不是我们使用的程序创建者的开发人员,所以当我批评他们的代码和工作时,他们并不喜欢.让我们说他们不把我的评论作为严肃的陈述.所以我问你几个关于SQL中subselect的问题
subselect是否需要花费更多时间才能留下外连接?
是否存在任何博客,文章或我推荐不使用的任何内容?
我怎样才能证明,如果我们在查询中避免使用subselesct查询会更快?
我们的数据库服务器是MSSQL2005
有没有办法在 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)
我正在尝试在顶行内添加汉堡包按钮,该按钮将折叠 - 显示导航菜单。
c# ×5
asp.net ×3
blazor ×2
performance ×2
reportviewer ×2
sql ×2
winforms ×2
.net ×1
bootstrap-4 ×1
cookies ×1
gridview ×1
inheritance ×1
math ×1
reporting ×1
sidebar ×1
sql-server ×1
t-sql ×1
this-pointer ×1
webforms ×1