Tag: c#

动态加载用户控件

如何在页面中动态加载用户控件? 我有一个包含radioButtons的页面。 每次单击单选按钮都会在页​​面中加载用户控件(.ascx)。 我正在做的是同时加载所有控件,但将其可见性设置为false。 当用户单击radiobutton时,我将特定用户控件的可见性设置为true。 因此,我在每个回发上加载所有用户控件。 有没有其他可能的方法这样做?

使用HTML5在Asp.net中拖放来上传文件

我试图使用HTML5的DnD和File API上传文件。 我不确定如何将表单数据发送到服务器,我尝试使用XMLHttpRequest发送,但没有成功。 这就是我到目前为止所拥有的。 Drop files here if (window.File && window.FileList && window.FileReader) { var dropZone = document.getElementById(‘drop_area’); dropZone.addEventListener(‘dragover’, handleDragOver, false); dropZone.addEventListener(‘drop’, handleDnDFileSelect, false); } else { alert(‘Sorry! this browser does not support HTML5 File APIs.’); } var files; function handleDragOver(event) { event.stopPropagation(); event.preventDefault(); var dropZone = document.getElementById(‘drop_zone’); dropZone.innerHTML = “Drop now”; } function handleDnDFileSelect(event) […]

将C ++结构转换为C#

我有一个C ++结构如下: struct CUSTOM_DATA { int id; u_short port; unsigned long ip; } custom_data; 如何将其转换为C#struct,序列化并通过tcp socket发送? 谢谢! UPD 那么C#代码会是什么? [StructLayout(LayoutKind.Sequential)] public struct CustomData { public int id; public ushort port; public uint ip; } public void Send() { CustomData d = new CustomData(); d.id = 12; d.port = 1000; d.ip = BitConverter.ToUInt32(IPAddress.Any.GetAddressBytes(), 0); IntPtr pointer […]

并行的foreach循环 – 奇怪的行为

下面的代码只是创建一个List> of random numbers,然后计算并行foreach循环中每个列表的累积和。 为什么我得到的数字少于’numLists’? 通常在9990左右。我猜它与线程安全有关。 什么是替代方法? (我是C#初学者,所以希望我使用正确的术语)谢谢。 using System; using System.Collections.Generic; using System.Threading.Tasks; namespace testParallelForeach { class Program { static void Main(string[] args) { List<List> bsData = new List<List>(); List<List> cumsumDataP = new List<List>(); int numLists = 10000; int myLen = 400; Random rand = new Random(); for (int i = 0; i < […]

通过C#检查计算机上是否安装了SQL Server

我正在创建一个应用程序,它是一个用户界面,可以访问两种类型的数据库 – SQLite和SQL Server。 问题是,SQLite不需要“安装”,因为它只是一个flatfile数据库,但另一方面,SQL Server(Express / normal)需要在使用前安装。 我的问题很简单: 有没有办法通过使用C#程序找出本地机器上是否安装了SQL Server实例?

使用SelfHosting时,我可以自动托管app.config中的所有服务吗?

我正在编写一个需要托管多个WCF服务的应用程序。 WCF的优势之一是能够通过在app.config文件中指定设置来配置服务而无需重新编译。 在自托管时,似乎没有一种开箱即用的方式来自动托管app.config文件中的服务。 我发现这个问题提到了一个可能的解决方案,即在运行时动态枚举app.config中列出的服务,并为每个服务创建一个ServiceHost。 但是,我的服务,合同和托管应用程序都在不同的程序集中。 这会导致Type.GetType(string name)无法找到我的服务类型(返回null ),因为它是在不同的程序集中定义的。 如何动态地托管app.config文件中列出的所有服务(即,在我的自托管应用程序中没有硬编码new ServiceHost(typeof(MyService)) ? 注意:我的app.config是使用Visual Studio 2010中的“WCF配置编辑器”生成的。 另请注意:我的主要目标是由app.config文件驱动,因此只有一个配置点。 我不想在一个单独的位置配置它。 编辑 :我能够读取app.config文件(请参阅此处 ),但需要能够解析不同程序集中的类型。 编辑 :下面的答案之一促使我尝试在app.config中指定AssemblyQualifiedName而不仅仅是基本类型名称。 这可以解决Type.GetType()问题,但是无论我如何获得类型, ServiceHost.Open()现在都会失败并出现InvalidOperationException : // Fails string typeName = typeof(MyService).AssemblyQualifiedName; Type myType = Type.GetType(typeName); ServiceHost host = new ServiceHost(myType); host.Open(); // throws InvalidOperationException // Also fails Type myType2 = typeof(MyService); ServiceHost host2 = new ServiceHost(myType2); […]

WPF ComboBox MaxDropDownItems

无论如何设置下拉项的最大数量而不是WPF中的最大下拉高度? 谢谢! -Kevin

新的Windows Phone Silverlight 8.1应用程序

我刚刚将Windows Phone HTC 8S更新为Windows Phone 8.1开发者预览版,我想开始使用任何新的API。 我确实遇到过Windows.Phone.System.LockScreenExtensibility命名空间,但它说: 支持的最低手机Windows Phone 8.1 [仅限Windows Phone Silverlight 8.1应用程序] 我们目前正在制作的普通Windows Phone 8应用程序和“Windows Phone Silverlight 8.1”应用程序之间是否存在差异? 我以前从未听说过Silverlight 8.1应用程序。

C#多态性简单问题

我有一个类X和一个Y类,后者派生自X: class x {} class y : x {} 然后我在某处使用X列表: List lstX; … 然后我想从我的其他列表中的数据中使用一个新的Y列表……沿着这些方向: List lstY = lstX; 我相信X列表中的项目会自动转换为Y,但事实并非如此。 另外,我如何从某个X初始化Y的新实例? 我想要做 : var newX = new X(); var newY = new Y(X); 但它似乎并没有像那样工作。 谢谢你的帮助! 抱歉格式化,尽我所能

使用htmlagilitypack代理

我搜索了这个问题,但没有找到我正在寻找的任何内容,基本上我想使用htmlagilitypack的代理,我之前有代码执行但丢失了,这是我到目前为止的代码,这是工作的。 但我在我正在制作的程序上计时并且需要启用代理。 private void button1_Click(object sender, EventArgs e) { StringBuilder output = new StringBuilder(); string raw = “http://www.google.com”; HtmlWeb webGet = new HtmlWeb(); webGet.UserAgent = “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6”; var document = webGet.Load(raw); }