我在MVC中有一个很大的(ish)表单。 我需要能够生成包含该表单子集的数据的Excel文件。 棘手的是,这不应该影响其余的forms,所以我想通过AJAX做到这一点。 我已经遇到了几个关于SO的问题,但是我无法弄清楚答案的意思。 这一个似乎是最接近我后: asp-net-mvc-downloads-excel – 但我不知道我明白了答案,现在已经是几年了。 我也遇到了另一篇文章(无法find它)有关使用iframe来处理文件下载,但我不知道如何得到这与MVC的工作。 我的excel文件返回罚款,如果我正在做一个完整的回发,但我不能得到它与MVC AJAX的工作。
我发现了几个开源/免费软件,允许您将.doc文件转换为.pdf文件,但它们都是应用程序/打印机驱动程序,没有附加SDK。 我发现有几个程序确实有一个SDK允许你将.doc文件转换成.pdf文件,但是它们都是专有的,2000美元左右的许可证。 有谁知道任何清洁,廉价(最好是免费的)程序化解决scheme,我的问题,使用C#或VB.NET? 谢谢!
在大多数编程语言中,字典比hashtables更受欢迎。 这背后的原因是什么?
我只是好奇,知道有(名称)属性,它代表了表单类的名称。 此属性在名称空间内用于唯一标识Form是实例的类,在Visual Basic的情况下,用于访问表单的默认实例。 现在,这个默认实例来自哪里,为什么不能C#有一个等效的方法。 也例如在C#中显示一个表单,我们做这样的事情: // Only method Form1 frm = new Form1(); frm.Show(); 但在VB.Net中,我们有两种方法来做到这一点: ' First common method Form1.Show() ' Second method Dim frm As New Form1() frm.Show() 我的问题来自这第一种方法。 什么是Form1 ,它是Form1的实例还是Form1类本身? 现在,如上所述,表单名称是VB.Net中的Default实例。 但是我们也知道Form1是一个在Designer定义的类,所以实例和类名的名字是如何相同的呢? 如果Form1是一个类,则不存在名为Show()的(Static \ Shared)方法。 那么这个方法从哪里来? 他们在生成的IL中有什么不同? 最后,为什么C#没有这个相同的function呢?
我需要获得一个types为x的表单上的所有控件。 我很确定我在过去曾经看到过这样的代码: dim ctrls() as Control ctrls = Me.Controls(GetType(TextBox)) 我知道我可以遍历所有使用recursion函数获取子项的控件,但有没有更容易或更直接的,可能如下所示? Dim Ctrls = From ctrl In Me.Controls Where ctrl.GetType Is Textbox
我试图从一个button点击事件的Excel文件中获取数据。 我的连接string是: string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;"; 当我点击button时,我得到以下错误: “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。 我不知道如何解决这个问题。 我的操作系统是Windows 7。
我喜欢在using块中实例化我的WCF服务客户端,因为它几乎是使用实现IDisposable资源的标准方式: using (var client = new SomeWCFServiceClient()) { //Do something with the client } 但是,正如在这篇MSDN文章中指出的那样,将WCF客户端封装在using块中可能会掩盖导致客户端处于故障状态(如超时或通信问题)的任何错误。 长话短说,在调用Dispose()时,客户端的Close()方法会触发,但会因为处于故障状态而引发错误。 原来的exception然后被第二个exception所掩盖。 不好。 MSDN文章中build议的解决方法是完全避免使用using块,而是实例化客户端并使用它们: try { … client.Close(); } catch (CommunicationException e) { … client.Abort(); } catch (TimeoutException e) { … client.Abort(); } catch (Exception e) { … client.Abort(); throw; } 相比于using块,我认为这是丑陋的。 每当你需要一个客户端时,需要写很多代码。 幸运的是,我发现了一些其他的解决方法,比如IServiceOriented上的这个。 你从以下开始: public delegate void UseServiceDelegate<T>(T proxy); […]
如何在.NET中启用程序集绑定失败日志logging(Fusion)?
我听说“每个人”都在使用参数化的SQL查询来防止SQL注入攻击,而不必为每一个用户input提供警报。 你怎么做到这一点? 你使用存储过程时会自动得到这个吗? 所以我的理解是非参数化的: cmdText = String.Format("SELECT foo FROM bar WHERE baz = '{0}'", fuz) 这将参数化? cmdText = String.Format("EXEC foo_from_baz '{0}'", fuz) 还是我需要做这样更广泛的事情,以保护自己免受SQL注入? With command .Parameters.Count = 1 .Parameters.Item(0).ParameterName = "@baz" .Parameters.Item(0).Value = fuz End With 使用参数化查询还有其他好处,除了安全考虑? 更新:这个伟大的文章被链接在Grotok的一个问题引用。 http://www.sommarskog.se/dynamic_sql.html
我有一些代码,当它执行时,它抛出一个NullReferenceException ,说: 你调用的对象是空的。 这是什么意思,我该怎么办才能解决这个错误?