加载时替换aspx页面中的令牌
我有一个ASPX页面,其中包含常规HTML,一些UICOMPONTENTS和多个形式{tokenname}的多个令牌. 页面加载时,我想解析页面内容并用正确的内容替换这些令牌.这个想法是使用相同的CodeBehind会有多个模板页面. 我没有麻烦地解析字符串数据本身,(请参阅名为字符串格式,对我重写页面内容的最佳方法是什么?我一直在使用StreamReader,并用响应替换页面.write,但这不是很好 - 包含其他.NET组件的页面无法正确渲染. 任何建议将不胜感激! 解决方案 非常感谢那些对这个问题做出贡献的人,但是我最终使用了其他解决方案 - 根据protected override void Render(HtmlTextWriter writer) { if (!Page.IsPostBack) { using (System.IO.MemoryStream stream = new System.IO.MemoryStream()) { usi
4 2024-04-26
编程技术问答社区
C#-改变覆盖方法的参数类型
我有一个继承的类,我正在尝试将事件方法的参数类型更改为另一个也是继承类的类型. 原始类: public class Alpha { protected virtual void OnSpecialEvent( AlphaArgs e ); } public class AlphaArgs { public AlphaArgs ( int a, object b ); public int A { get; } public object B { get; } } 我的继承类: public class Beta : Alpha { protected override void OnSpecialEvent ( BetaArgs e ) { /* Do Stuff */ } } public class BetaArgs : AlphaArgs { public BetaArgs
10 2024-04-26
编程技术问答社区
2列数据表到List<int>.NET 2.0
我已经从 编写的旧Web应用程序中的存储过程中填充了一个数据表 c#under .NET 2.0/Visual Studio 2005. 我正在尝试填充数据表中值的列表,但是我一直在遇到一些问题. 我的转换过程看起来像这样: List SpecialVendorList = new List(); foreach (DataRow datarow in GetAllSpecialVendors().Rows) { //Loop through each row foreach (DataColumn column in GetAllSpecialVendors().Columns) { SpecialVendorList.Add(column["ChildVendorId"]); SpecialVendorList.Add(column["ParentVendorId"]); } } 给我以下错误:
12 2024-04-26
编程技术问答社区
我在读取文件时的做法对吗?
此代码试图读取文件,但给出错误, System.IO.IOException: The process cannot access the file 'C:\doc.ics' because it is being used by another process. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
20 2024-04-26
编程技术问答社区
C#-我可以在一个值和一个表达式之间进行数据绑定吗?
我有一个列表和一个按钮.当列表计数== 0时,我希望按钮可见性= false. 如何使用数据绑定? 预先感谢 添加 我已经问过这一点,以便每次添加或从列表中添加或删除一个项目时,都可以避免在代码中的列表中检查列表的计数.但是,如果没有解决方案,那么我将继续这样做. 解决方案 创建一个DTO(数据传输对象),该DTO(数据传输对象)揭示您打算绑定到UI元素的所有数据.在DTO中创建属性(带有适当名称): public bool ButtonVisible { get { return myListCount != 0; } } 将BindingSource添加到您的表格中,并将其设置为DataSource. 单击按钮,goto 属性.展开 databindings 节点,然后单击高级. 向下滚动左手窗格的列表,然后选择可见的.将其绑定到您的财产暴露的bindingsource .. 其他解决方案 一般答案 写一个事件处理
8 2024-04-26
编程技术问答社区
C#-List<MyClass>可以无缝投递到List<Interface>或类似的地方吗?
我的控件中有一个DataSource,它始终是List,其中T必须从IEntity中继承. public class MyClass where T : IEntity { public List DataSource { get; set; } } 现在,显然您不能将List施放到List执行以下操作: List wontWork = (List)this.DataSource; 如何将数据源作为IEntity列表,而仍然能够从DataSource中添加和删除项目? IE.我可以做以下操作,但是从返回的列表中删除不会从数据源中删除: public List GetDataSourceCopyAsUnderlyingType() { if (this.DataSource == null)
20 2024-04-26
编程技术问答社区
支持.NET 2.0的结构图的最新版本是什么?
我正在研究一个粘在.NET 2.0上的项目(尽管我们可以使用C#3.0),并且我想使用一个不错的容器的设施(例如structuremap).有谁知道支持.NET 2.0的最新版本的结构图? 或其他容器(最好不是统一,但我可以说服)支持.NET 2.0? 预先感谢. 解决方案 那将是
6 2024-04-26
编程技术问答社区
使用RegSetKeySecurity来避免注册表重定向
为了避免注册表重定向到WOW64键,如何翻译使用Microsoft.Win32 apis 的以下代码 public void SetKeyAccessControl( RegistryKey rootKey, string subKeyName, string identity, RegistryRights rights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType accessType) { using (RegistryKey regKey = rootKey.OpenSubKey(subKeyName, true)) { RegistrySecurity acl = new RegistrySecurity(); RegistryAc
18 2024-04-25
编程技术问答社区
寻找桌面应用程序的Visual Studio工具箱式导航
我正在研究一个项目,该项目使用MDI应用程序,并在侧面带有导航面板.目前是listView.但是,我想将其重新设计为类似于Visual Studio 2008中的工具箱. 如果这是需要覆盖默认的油漆方法的东西,那么如果您可以提供有关如何使用油漆方法的一些良好参考,因为我目前没有任何使用它的经验. 预先感谢. 解决方案 您想使用工具箱控件.我使用过的一些免费提供的是Gordon Robinson最友好的,请访问: http://gordondrobinson.com/post/toolbox-control-written-in-c.aspx 其他解决方案 请查看Nevron用户界面:其他解决方案 我相信您需要的是一个小板控制.我不会详细介绍如何创建一个帖子,因为这将缺少该帖子的主题,但是我强烈建议您如果要多次使用它,请寻找第三方实施在项目中或一个以上项目中. 这是一个示例:
16 2024-04-25
编程技术问答社区
淡入淡出的形式
我有一个要求我的形式是透明的,如果我的鼠标进入形式 应该变得可见,如果我的鼠标离开的形式变得透明,我的形式中放置了三种不同的对照,每个控制鼠标离开,鼠标输入与形式的相同.如果我的鼠标进入表格并进入控件 form_mouseleaveevent和control_mouseenterd被解雇,因此无法实现它,如何克服这一点. 以下是这样的代码: private void TransToOpac() { if (!isTransparent) return; if (TtoOON == false ) { TtoOON = true; for (i = this.Opacity; i
12 2024-04-25
编程技术问答社区
方法链的通用列表扩展
我有一个"复杂"类型的列表 - 具有几个字符串属性的对象.列表本身是另一个对象的属性,并且包含多种类型的对象,如此缩写类结构所示: Customer { public List Characteristics; . . . } Characteristic { public string CharacteristicType; public string CharacteristicValue; } 我希望能够为当前客户收集给定类型的特征的值列表,我可以在2步过程中进行以下操作: List interestCharacteristics = customer.Characteristics.FindAll( delegate (Characteristic interest) { return interest.CharacteristicType ==
6 2024-04-25
编程技术问答社区
亚马逊EC2多个服务器共享会话状态
我有一堆负载平衡的EC2服务器. 一些服务器没有共享会话,用户不断登录. 如何使所有服务器共享一个会话, 甚至可能使用PartitionResolver解决方案 public class PartitionResolver : System.Web.IPartitionResolver { private String[] partitions; public void Initialize() { // create the partition connection string table // web1, web2 partitions = new String[] { "192.168.1.1" }; } public Str
20 2024-04-25
编程技术问答社区
处理异常与防止异常的发生--C#
我有一个asp:boundcolumn与datetime? ASP:GridView中的数据(我将其称为X列).我循环遍历网格中的所有行,然后将.TEXT属性投入到DateTime列(我需要进行检查并在需要时更改单元背景颜色). ). 我有2个选项: 将铸件包装在try/catch中...处理formatexception(如果列x在其中呈现一些垃圾)...仅与有效的dateTime值一起工作. 检查X列以确保它是 以正确的格式(如何?) 外壳,只有在格式为 好. 我应该采用哪种方法,为什么? 谢谢. P.S. 1个解释的上投票,可接受的TryParse答案 edit2:即使我使用了TryParse,我也没有选中接受的答案来保持讨论的进行. 我的"好数据"/"不良数据"比率约为2/1-这意味着很多不良输入 如果没有其他内容,我将在几天内重新敏感. 解决方案 您可以执行第二选项. datetime.tryparse可以提供帮助
26 2024-04-25
编程技术问答社区
使用System.Data.SQLite.SQLIteDataReader.GetBlob检索BLOB字段时出错
由于我无法控制的原因,我正在创建一个.NET 2.0组件,其中我加载一个SQLite数据库并从中检索一些二进制数据.具体来说,PDF文档. system.data.sqlite.sqlitedatareader.getBlob(int i,bool readonly)的文档说:(强调我的) ) 将列作为system.data.sqlite.sqliteblob对象检索. 如果查询不包含" rowID"列或其Aliases -或 - 如果System.data.data.data.sqlitedatareader并未使用系统创建的" ROWID"列或其中一个,则这对没有ROWID -或 - 的表不起作用. data.commandbehavior.keyinfo标志. 这是我的sqlitecommand: using (SQLiteCommand getBooklet = new SQLiteCommand($"SELECT \"rowid\", File_Nam
24 2024-04-25
编程技术问答社区
使用NAnt,如何在针对.NET 2.0运行时使用C# 3.0编译器?
我正在使用Nant 0.85来构建一个传统项目.脚本本身使用 csc任务(不是msbuild任务),并且工作正常. 该项目正在迁移.NET 3.5.我们已经使用VS2008和C#3.0,同时仍针对.NET 2.0 Framework Runtime. 现在,当我们想升级NANT脚本,使用CSC任务编译C#3.0代码时,就会发生问题. 我通过修改nant.exe.config来添加net-3.5框架部分,设法将C#3.0代码编译为Nant,但我仍然无法确保一种方法可以继续执行.净2.0运行时. 更多有问题的:如果我使用Linqbridge来利用Linq,而无需系统.模糊的.实际上,NANT CSC任务似乎自动引用System.Core.dll,这在CSC任务下,与唯一有效添加到部分的唯一参考的冲突:LinqBridge.dll. 您现在如何解决? 解决方案 执行.NET 2.0主要是确保您不会添加任何.NET 3.5特定特定库的
12 2024-04-25
编程技术问答社区
打开记事本并添加文本不工作
我刚刚从互联网上看到了这个片段,但它不起作用. 假设打开新的记事本应用程序并将" ASDF"添加到其中. 代码上有任何错误吗? [DllImport("User32.dll")] public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, [MarshalAs(UnmanagedType.LPStr)] string lParam); void Test() { const int WM_SETTEXT = 0x000C; ProcessStartInfo startInfo = new ProcessStartInfo("notepad.exe"); startInfo.UseShellExecute = false; Process notepad = System.Diagnostics.Process.Start(
12 2024-04-24
编程技术问答社区
在不安装.NET框架的情况下,在windows XP中运行C#窗口应用程序
可能的重复: droment .net .net基于.net framework 你好.请让我知道如何在不安装.NET框架的情况下在Windows XP中运行C#Windows应用程序? 解决方案 c#未通过操作系统处理.它的CLR(内部框架),他们谨慎运行C#应用程序和所有内存管理,资源分配,脱位等.在运行其应用程序时,它可以通过OS创建虚拟图层.因此,您必须需要框架(如您所说,超过或等同于2.0) 其他解决方案 你不能. 需要出现任何.NET应用程序以运行的框架和运行时. 这就像想要一个不安装JRE的Java程序运行. 其他解决方案 嗯.我认为您除了installin .NET 2.0上的目标机上没有办法
16 2024-04-24
编程技术问答社区
Windows应用程序中的等待窗口
我基本上需要向用户显示等待窗口.为此,我在应用程序中将两个单独的窗口表单放在应用程序中.第一个形式是带有按钮的主形式.第二个是一个空的,只有标签文字.单击form1中的按钮,我做以下 Form2 f = new Form2(); f.Show(); Thread.Sleep(2000); f.Close(); 我的想法是向用户显示等待窗口2秒.但是,当我这样做时,表格2并没有完全加载,因为其中的标签为空白.请让我知道您对此的投入. 解决方案 那是因为您可能在同一线程(UI线程)中进行一些冗长的操作.您应该在新线程中执行代码(请参阅线程类)或至少调用应用程序.多goevents从冗长的操作内定期更新UI. 其他解决方案 这是我使用的等待盒类.这是您的使用方式: using WaitingBox; ShowWaitingBox waiting = new ShowWaitingBox("Title Text","Some Text so the user kn
10 2024-04-24
编程技术问答社区
在VS 2008中使用类型化数据集的编程模式
我目前正在执行以下操作以使用VS2008中的键入数据集: 右键单击" app_code"添加新数据集,命名为tables. 打开表,右键单击,添加"表适配器" 在向导中,选择一个预定的连接字符串,"使用SQL语句" 从tableName中选择 *,然后接下来 +接下来. (我为DB中的每个表生成一个表适配器) 在我的代码中,我只需要一个数据,以获取一排数据: cpcds.tbl_cpcrow tr =(cpcds.tbl_cpcrow)(新的cpcdstableadapters.tbl_cpctableadapter()) 我相信这将从数据库中获得整个表格和dotnet中的过滤(即不是最佳),有什么办法可以让tableadapter在数据库上归档结果(即我想要的内容)从tbl_cpc发送选择 *,其中cpCID = 1到数据库) ,作为旁注,我认为这是从VS2008中获取数据库的数据相当不错的设计模式.编码,阅读和Mantain非常容易.但是我
4 2024-04-24
编程技术问答社区
.Net中的数据绑定下拉控件
我将下拉列表与DB实体绑定. ddlCustomer.DataSource = Customer.GetAll(); ddlCustomer.DataTextField = "CustomerName"; ddlCustomer.DataBind(); 我想将"选择"添加为下拉列表中的第一个项目列表,然后将实体绑定到下拉列表.我该怎么做? 解决方案 add: ddlCustomer.Items.Insert(0, "SELECT"); ddlcustomer.databind(); 之后 数据绑定后必须插入该项目,因为数据绑定清除了项目. 其他解决方案 我不知道是否有一行解决方案,但是我以前做的是,不是使用databind,然后首先创建将具有"选择"为文本的ListItem对象,然后循环浏览从customer.getall()返回的集合,并为集合中的每个项目创建一个ListItem对象,并使用" dropdownlist.iems.add(myit
6 2024-04-24
编程技术问答社区