在listview控件中进行分页

我可以在asp.net listview控件中有一些使用datapager的教程/示例代码吗?

“文档未打开”仅在使用iTextSharp的生产中出错

我在iTextSharp中收到“文档未打开”错误,但仅限于生产中。 代码在我的开发机器和分段上运行良好。 我在舞台服务器上的Temp文件夹中设置了相同的权限。 public static byte[] ConvertHtmlToPdf(string html) { html = HtmlPostProcessor.Process(html); byte[] fileData = null; string tempPath = ConfigurationManager.AppSettings[“TempDirectory”]; string tempPDFFile = Path.Combine(tempPath, Guid.NewGuid() + “.pdf”); int num = FontFactory.RegisterDirectory(@”C:\Windows\Fonts”); using (FileStream fs = new FileStream(tempPDFFile, FileMode.Create)) { using (Document document = new Document(PageSize.LETTER, 50, 50, 50, 50)) { document.Open(); PdfWriter.GetInstance(document, fs); using (StringReader […]

复制具有不同命名空间的两个相同对象(递归reflection)

我在c#中工作,有几个工作区有一个特定的类,在每个工作区中它总是相同的。 我希望能够拥有此类的副本,以便能够在不处理命名空间差异的情况下使用它。 例子: namespace1 { class class1{ public class2; } class class2{ public string; } } namespace2 { class class1{ public class2; } class class2{ public string; } } 在我复制的类中,我有一个函数将所有数据复制到命名空间的类之一。 如果我只有c#标准类型,它会工作。 一旦我处理class2对象(也来自不同的命名空间),我得到了exeption(“对象与目标类型不匹配。”) public Object toNamespaceClass(Object namespaceClass) { try { Type fromType = this.GetType(); Type toType = namespaceClass.GetType(); PropertyInfo[] fromProps = fromType.GetProperties(); PropertyInfo[] toProps = toType.GetProperties(); […]

为什么在继续使用其他内容时取消原始任务?

自从我潜入C#编程以来已经有4周了。 这真的很有趣,然而,我的屁股很痛苦: 当我单独用HttpClient.PostAsync()启动一个任务时,它工作正常。 但如果我继续其他事情,原始任务将被取消,而不是我。 看起来这个任务不乐意继续下去。 Task task0; Task task1; using (var client = new HttpClient()) { HttpContent content = new ByteArrayContent(new byte[]{}); task0 = client.PostAsync(“”, content); task1 = task0.ContinueWith((t) => { // Do nothing }); } task1.Wait(); // I got task0.IsCanceled == true here 我试过了: 1, task0.wait()之后立即添加task0.wait()将解决问题,但这不是我想要的。 因为我需要异步的性能优势并且这样做会使它完全同步。 2,在task0.wait()之前添加task0.wait() task1.wait()将导致TaskCanceledExcpetion 。 3,删除task0并等待task0 。 4,调用task0.start()将得到“可能不会在promise风格的任务上调用Start”。 所以,有人告诉我,我做错了什么? […]

在C#中合并包含List的字典

这与这个问题有关 ,关于如何在C#中合并两个词典。 提出了一个优雅的Linq解决方案,很酷。 但是,该问题与Dictionary,而我有一个字典,其值为List. 我正在寻找一个合并Dictionary<Object1, List>,的解决方案Dictionary<Object1, List>,具有以下要求: 如果Dictionary1包含与Dictionary2相同的键,则应组合它们的List列表。 您最终会得到一个带有共享密钥的新键值对,以及来自两个词典的组合列表。 如果Dictionary1包含Dictionary2没有的键,则Dictionary1中的List列表应该成为值,反之亦然。 这在Linq中可能是不可能的,或者可能值得用for循环等来写出来,但是有一个优雅的解决方案会很好。

如何对数据库中的用户使用Windows身份validation

我的主要目标是使用Windows身份validation来查询我的自定义Users表以通过Web应用程序使用。 我不确定有这样做的传统方法。 我在SQL数据库中有一个预定义的Users表和Roles表。 如何使用User.Identity.Name查询此Users表并将所有表数据以及角色映射到ApplicationUser类,以后可以在Intranet Web应用程序中进一步使用? 通过阅读大量文章,我无法找到与我所追求的任何密切相关的东西。 我假设这将在ConfigureServices下的Startup类中完成,但我也不确定。 我需要在第一次导航到网站时查找用户。

在JavaScript中使异步事件同步

我正在使用WPF 3.5SP1 WebBrowser控件来显示包含一些javascript函数的页面。 然后我的程序需要调用一个javascript函数来进行异步调用。 我需要一种方法将异步调用的结果返回给C#,这样我就可以处理结果了。 有没有办法让第一个javascript函数睡眠,直到出现问题(没有锁定浏览器)? 编辑:我已经在使用回调 – 第二个函数实际上被称为“some-async-function-complete”。 异步事件结束时会调用它。 现在我需要一种方法将结果导入C#。 进一步澄清:C# var result = WebBrowser.InvokeScript(“myscript”) JavaScript的 var result; function myscript() { some-async-function(); /* what goes here? */ /* wait until result != null */ return result; } function some-async-function-complete(retval) { result = retval; }

使用WCF客户端+ cookie进行Web服务调用

在WCF Service.实现Basic security Authentication WCF Service. 管理从Web服务获取.ASPXCookie 。 但是,如何将收到的cookie传递回下一个请求? var authClient = new MovieDbClient(); using (new OperationContextScope(authClient.InnerChannel)) { isValid = authClient.Login(“userName”, “passWord*”); if (isValid) { var response = (HttpResponseMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpResponseMessageProperty.Name]; sharedCookie = response.Headers[“Set-Cookie”]; } } 我试图打印SharedCookie并且成功了。 它看起来像, “.ASPXAUTH=E499CA76EAC178A96BE5CA1E314CC90E0A6F9B95AD221EF5AD7D43598E701DC034D40904DBB8ECFBFB3EA21F2597D3C8DAB9B19A0491FD5858E9F0A4B6DC6E6A980FBB4CCADE191855A029CF8236C6890BEE28665C236992632807D1021AA138; expires=Tue, 07-Jan-2014 06:22:22 GMT; path=/; HttpOnly” 问题是how do I pass this cookie information in my next request using […]

如何根据Combobox的值更改DataGridView单元格颜色?

我有一个datagridview如下: 我想要: 当表单加载时,如果Gender列的值为Male,则列Name的相应颜色单元格将为White 如果更改列的Gender :男性→女性,列Name颜色单元格将为DarkGray,否则如果更改列的Gender :女性→男性,列Name颜色单元格将为白色 我试了但是我无法做到: private void dataGridView_CurrentCellDirtyStateChanged(object sender, EventArgs e) { DataGridView dgv = sender as DataGridView; DataGridViewCell cell = dgv.CurrentCell; if (dgv.Rows[cell.RowIndex].Cells[“Gender”].Value.ToString().Trim() == “Male”) { // Male dgv.Rows[cell.RowIndex].DefaultCellStyle.BackColor = Color.White; } else { // Female dgv.Rows[cell.RowIndex].DefaultCellStyle.BackColor = Color.DarkGray; } } 要么: private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { DataGridView dgv = […]

BitConverter.ToInt32转换2个字节

我正在使用BitConverter.ToInt32将Byte数组转换为int。 我只有两个字节[0] [26],但该函数需要4个字节,所以我必须在现有字节的前面添加两个0字节。 什么是最快的方法。 谢谢。