我有一个部分视图(控制),用于多个视图页面,我需要将当前视图的名称传递回控制器 – 所以如果有validation错误,我可以重新绘制原始视图。 解决方法是(在控制器方法中) var viewName = "Details"; // or whatever ViewData["viewName"] = viewName; return(View(viewName, customer)); 然后在部分本身中呈现 <input type="hidden" name="viewName" value="<%=Html.Encode(ViewData["viewName"])%>" /> 问题是 – 是否有一些属性或语法我可以直接检索,而不是从控制器设置它? 我已经尝试了显而易见的: <input type="hidden" name="viewName" value="<%=Html.Encode(this.Name)%>" /> 但是这不起作用。 我在这里错过了什么? 谢谢。
我有一个简单的应用程序,反转任何文本input到另一个文本框中。 问题是,你可以修改任何一个文本框,这些改变将会被(反过来)反映在另一个文本框中。 我写这个代码,相信会导致问题。 private void realText_TextChanged(object sender, EventArgs e) { mirrorText.Text = mirror(realText.Text); } private void mirrorText_TextChanged(object sender, EventArgs e) { realText.Text = mirror(mirrorText.Text); } private string mirror(string text) { return new string(text.Reverse().ToArray()).Replace("\n\r", "\r\n"); } 然后我试了一下,认为它会导致无限循环( realText更改mirrorText ,另一个事件发生, mirrorText更改realText等)。 然而,除了预期的行为发生之外, 我当然很高兴,我可以把它留在这里。 或者我可以吗? 我很确定TextChanged事件应该被触发,每当Text被改变。 这是事件中一些错误保护的预期行为,还是我只是幸运? 这个代码可能在其他计算机上运行不正常,还有其他的编译设置等? 它可以很容易地修复: private void realText_TextChanged(object sender, EventArgs e) { if (realText.Focused) […]
定位的程序集清单定义与程序集引用不匹配 通过ncover运行nunit时得到这个。 任何想法?
我有一个System.Type的实例,为此“IsArray”返回true。 我怎样才能确定数组types的“嵌套types”? 即 Type GetArrayType(Type t) { if(t.IsArray) { // What to put here? } throw new Exception("Type is not an array"); } Assert.That(GetArrayType(typeof(string[])), Iz.EqualTo(typeof(string)); Assert.That(GetArrayType(typeof(Foo[])), Iz.EqualTo(typeof(Foo));
每当我尝试debugging.NET Windows服务应用程序时,我都会在性能计数器上得到有关ReadOnly属性的重复错误。 这个应用程序可以在x86 windows vista或x86 windows 2003上正常工作。它只是在我的新的64位开发机器上停止工作。 我已经在pipe理员模式下在64位和32位命令行VCVARS.bat上运行相关的InstallUtil调用。 我没有错误设置类别和每个perf计数器 。 但是,无论我是否只将read_tcct设置为只读,我都会得到: 请求的性能计数器不是一个自定义计数器,它必须被初始化为ReadOnly。 UPDATE 我重新安装了32位版本的Windows 7的机器,奇怪我仍然得到这个错误。 唯一改变的是从Windows Vista Business迁移到Windows 7 Professional。 这响铃吗?
所以今天遇到了一些情况,一些生产代码不能正确地执行,因为一个方法完全按照MSDN的规定执行 。 因为我没有阅读文档而感到羞耻。 然而,即使“devise上”,我仍然在为自己的行为而挠头,因为这种行为与我期望的(和其他已知的行为)完全相反,因此似乎违反了原则最less的惊喜。 All()方法允许您提供谓词(如lambdaexpression式)来testingIQueryable ,并返回一个布尔值,指示所有集合成员是否匹配testing。 到现在为止还挺好。 这是奇怪的地方。 如果集合是空的, All()也返回true 。 这似乎完全倒退给我,原因如下: 如果这个集合是空的,像这样的testing最好是未定义的。 如果我的车道是空的,我不能断言所有停在那里的车都是红色的。 有了这个行为,在一个空的车道上,所有停在那里的车都是红色的,蓝色的和棋盘格 – 所有这些expression式都会返回true。 对于熟悉SQL!的人来说,NULL!= NULL,这是意料之外的行为。 Any()方法的行为与预期相同,并且(正确)返回false,因为它没有任何与谓词相匹配的成员。 所以我的问题是,为什么All()这样做? 它解决了什么问题? 这是否违反了最小惊喜的原则? 我把这个问题标记为.NET 3.5,但是这个行为也适用于.NET 4.0。 编辑好的,所以我把握这个逻辑层面,就像杰森和你其他人一样。 诚然,一个空的收集是一个边缘的情况下。 我想我的问题是根植于这样一种斗争,即只是因为某些东西是合乎逻辑的 ,并不意味着如果你不在正确的思维范围内,这是有道理的。
我有下面的代码: List<string> aa = (from char c in source select new { Data = c.ToString() }).ToList(); 但是关于 List<string> aa = (from char c1 in source from char c2 in source select new { Data = string.Concat(c1, ".", c2)).ToList<string>(); 编译得到错误 不能将types'System.Collections.Generic.List<AnonymousType#1>'隐式转换为'System.Collections.Generic.List<string>' 需要帮忙。
在.net中本地化枚举描述的最佳方法是什么? (有关枚举描述示例,请参阅为枚举常量添加描述 ) 理想情况下,我希望使用ResourceManager和资源文件,以适应其他应用程序本地化。
我在.Net中需要一个唯一的标识符(不能使用GUID,因为这是为了延长这种情况)。 难道人们认为这里使用的algorithmhttp://jopinblog.wordpress.com/2009/02/04/a-shorter-friendlier-guiduuid-in-net/是一个很好的候选人或有任何其他的build议吗?
.net数组的“Length”,“Count()”和“Rank”之间有什么区别?