Tag: razor

自定义validation属性,用于将my属性的值与模型类中的另一个属性值进行比较

我想创建一个自定义validation属性,我想在其中将my属性的值与我的模型类中的另一个属性值进行比较。 例如我在我的模型类中: … public string SourceCity { get; set; } public string DestinationCity { get; set; } 我想创建一个自定义属性来像这样使用它: [Custom(“SourceCity”, ErrorMessage = “the source and destination should not be equal”)] public string DestinationCity { get; set; } //this wil lcompare SourceCity with DestinationCity 我要怎么去那儿?

ASP .NET核心输入标记助手不使用Razor代码

我想将输入标记助手与剃刀代码组合起来设置属性,但我不能让两种技术一起工作。 我只是试图根据视图模型属性的值在输入字段上设置disabled属性。 当我把剃刀代码放在asp-for标签之后,剃刀智能感知器无法被识别,并且字段未按预期禁用… 渲染输出…… 当我将剃刀代码放在asp-for标签之前时,标签helper intellisense无法识别,并且该字段未按预期设置视图模型属性… 渲染输出…… 请注意,如果剃刀代码位于类属性中,则组合标记帮助器和剃刀会起作用。 遗憾的是,输入字段需要disabled属性,而不是bootstrap 3的禁用类。 有没有办法让这项工作?

在使用MVCContrib对unit testingMVC 3控制器和视图进行unit testing时,向RouteData添加键和值

好的,所以我使用MVCContrib TestHelper对我的控制器进行unit testing,效果很好。 和很多人一样,通过unit testing我真的是指这里的集成测试,我想至少确保我的视图在没有错误的情况下呈现给定模型提供…否则我会错过一大堆与模型基本相关的错误虽然我正在测试控制器(如果模型属性为null,则视图不呈现)。 无论如何,我开始试图弄清楚如何做到这一点(也就是谷歌搜索如何做到这一点)。 看起来最简单的方法是构造一个HTMLHelper并让它只渲染视图(在这种情况下是部分的)。 不幸的是,当我尝试使用我的模拟HTMLHelper时,它抱怨说路由数据中没有控制器名称。 果然,我看起来并没有填充控制器RouteData。 不幸的是,RouteData.Values RouteValueDictionary是只读的,所以我不能只提供必要的值。 我没有结合HTMLHelper的想法来解决实际渲染视图作为测试的一部分的问题,所以请随意提出替代方案,但请不要建议我使用Selenium,W​​atin或其他UI测试我的视图测试工具…我希望控件能够执行一些操作,例如操作和恢复某些测试的状态和数据信息,这是基于UI的测试无法做到的。 这是我目前用来尝试渲染部分的代码: public class FakeView : IView { #region IView Members public void Render(ViewContext viewContext, System.IO.TextWriter writer) { throw new NotImplementedException(); } #endregion } public class WebTestUtilities { public static void prepareCache() { SeedDataManager seed = new SeedDataManager(); seed.CheckSeedDataStatus(); } public static string RenderRazorViewToString(string […]

下拉列表更好地作为ViewBag或模型C#/ .NET MVC4的一部分

可能很简单,但我似乎错过了一些东西。 两种型号: public class Hardware { [Required] public int Id { get; set; } public int SerialNum { get; set; } public int ProductNum { get; set; } public string Notes { get; set; } public DateTime PurchaseDate { get; set; } public DateTime WarrantyExpiration { get; set; } public virtual Manufacturer Manufacturer { get; […]

在MV203项目的VS2013中有限的Intelliesense

我最近安装了vs 2013专业版,并在其中打开了我的一个侧面项目应用程序。 该项目是使用剃刀视图引擎的MVC3应用程序。 我注意到在编辑视图(cshtml)时,我无法访问我在2012年习惯的intellisense。我立刻注意到的例子是@ Url.Content()和@Viewbag。 代码仍然编译并运行,只是没有intellisense。 有点搞砸了我想我应该检查升级日志,果然我找到了…… “用于Razor的Intellisense(CSHTML和VBHTML)文件仅限于HTML标记。有关如何升级MVC 3项目的其他信息,请参阅http://go.microsoft.com/fwlink/?LinkID=317645 。” 提供的链接只是告诉您从mvc3升级到mvc4。 我的问题是:这是我唯一的选择吗? 为了在较旧的mvc3项目上使用VS2013,我将不得不升级它们或者vs2013是否支持mvc razor文件的完整intellisense?

ASP.NET MVC 3是否已准备好用于业务应用程序

我必须决定我们将在未来几年开发的新的大型业务应用程序,问题是我们是否应该开始使用MVC 3或Web表单。 这已经在SO中进行了讨论,但我已经看到了这样一个问题: ASP.NET MVC是否适用于业务应用程序(集成第三方控件/组件)? 在2008年被问到,现在很多事情都可能发生变化。 我主要关注的是听说MVC适合渲染像网格或列表这样的内容,而不太适合数据输入和用户交互。 我们的应用程序将有很多控件,用户可以在其中输入数据并使用列表和文本框,复选框等。 在MVC或经典的Webforms和视图状态模型中,一切都绝对可能更合适吗? 谢谢。

asp.net MVC 3中的ViewData和PageData有什么区别?

嗯,我看到这2个属性,但我不明白它们之间的区别? 我似乎无法在任何地方找到任何有关PageData礼仪的帮助。 所以身体有帮助吗? @ { Viewdata[“something”] = 1; PageData[“something”] = 2; } 谢谢

如何在mvc4 razor中显示validation消息

我是MVC Razor的新手,我想在文本框上实现validation消息。 这里我动态创建一些文本框,如下所示: 查看代码: foreach (var items in (IEnumerable)Model.UsersOfList) { @Html.TextBoxFor(m => m.LoginNameOfLoginInfoTab, new { @class = “textBox_LoginInfoAndPermission”, @value = (Model.LoginNameOfLoginInfoTab = items[“UserName”].ToString()), @id = (“txtUserLoginName” + Model.UsernameOfLoginInfoTab.Trim()) }) @Html.ValidationMessageFor(m => m.LoginNameOfLoginInfoTab, null, new { @class = “ErrorMessage” }) @Html.TextBoxFor(m => m.UsernameOfLoginInfoTab, new { @class = “textBox_LoginInfoAndPermission”, @value = (Model.UsernameOfLoginInfoTab = items[“FirstName”].ToString()), @id = (“txtUserName” […]

如何避免在视图中循环?

当我构建我的视图时,我想尽可能多地消除处理逻辑。 理想情况下,我想坚持使用Razor只使用HTML和渲染值。 假设我有一个带有BarModel对象列表的FooModel: public class FooModel { public List Bars { get; set; } public string FoosFirstValue { get; set; } public string FoosOtherValue { get; set; } } public class BarModel { public string SomeValue { get; set; } public string SomeOtherValue { get; set; } } 在我看来,我需要遍历并显示我的Bars上的元素: @model MyApp.FooModel @Model.FoosFirstValue @Model.FoosOtherValue Bars: @foreach […]

MVC中的P3P标题信息

我不确定我想把它放在我的Asp.net MVC网站上: HttpContext.Current.Response.AppendHeader(“P3P”, “CP=\\\”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\””); 我把它放在: public static void RegisterRoutes(RouteCollection routes) { HttpContext.Current.Response.AppendHeader(“P3P”, “CP=\\\”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\\\””); routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller […]