需要帮助理解.cshtml页面中的Razor语法

时间:2014-03-11 10:55:20

标签: asp.net-mvc asp.net-mvc-4 razor

我已经开发了一个MVC 4应用程序,我必须修复这个项目中的一些错误。关于在.cshtml页面中这样写的语法,我遇到了麻烦。我没有得到任何关于这种语法编写目的的线索,我对MVC Viewmodel概念感到困惑。

@Html.CheckBoxFor(m => m.RemoveImage) @PartnerNet.Resource.Client.ViewModel.RemoveLogo
<img src="@Url.Content("~/Content/Images/" + "no-logo.png")" alt="@PartnerNet.Resource.Client.ViewModel.NoLogo" />

如果我参考dll defination,当我正在探索dll时,它会显示为这样。请给出一些想法。

using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Resources;
using System.Runtime.CompilerServices;

namespace PartnerNet.Resource.Client
{
    [CompilerGenerated]
    [DebuggerNonUserCode]
    [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
    public class ViewModel
    {
        public static string Address { get; }
        public static string AdminNotes { get; }
        public static string AlarmsActive { get; }
        public static string AlarmsHistory { get; }
        public static string AlarmStatus_1 { get; }
        public static string AlarmStatus_2 { get; }
        public static string AlarmStatus0 { get; }
        public static string AlarmStatus1 { get; }
        public static string AlarmStatus2 { get; }
        public static string AlarmStatus3 { get; }
        public static string AlarmStatus6 { get; }
        public static string AutoTreatment { get; }
        public static string AutoTreatmentCompletionStatus { get; }
        public static string AutoTreatmentLatest { get; }

1 个答案:

答案 0 :(得分:0)

  

@ Html.CheckBoxFor(m =&gt; m.RemoveImage)@ PartnerNet.Resource.Client.ViewModel.RemoveLogo

它说它正在为您当前的viewmodel创建一个复选框,在您的视图模型中名为RemoveImage。

然后,它会从PartnerNet资源文件中添加文本,然后加载实际图像,并再次从资源文件中添加alt标记。

资源文件是一个mvc设置类型文件,可以存储基于文本的值 - 例如,它们将是removelogo条目的值存储。

希望有所帮助。