Asp.net MVC3如何在javascript中使用Model

时间:2013-04-06 18:23:54

标签: asp.net asp.net-mvc-3

我的模特是这样的:

public class ViewMessageFileModel
    {
        [Display(Name = "FileOptionId")]
        public int ? FileOptionId { get; set; }


        [Display(Name = "LeaveInMyInbox")]
        public bool ? LeaveInMyInbox { get; set; }



        IList<int> _fileforMyTeam;
        public IList<int> FileForMyTeam
        {
            get
            {
                if (_fileforMyTeam == null) _fileforMyTeam = new List<int>();
                return _fileforMyTeam;
            }
            set { this._fileforMyTeam = value; }
        }

         IList<int> _fileforfacility;
        public IList<int> FileForFacility
        {
            get
            {
                if (_fileforfacility == null) _fileforfacility = new List<int>();
                return _fileforfacility;
            }
            set { this._fileforfacility = value; }
        }
        //Similarly for other option   

        private IList<ViewUserGroupModel> _careTeam;
        public IList<ViewUserGroupModel> CareTeamForFile
        {
            get
            {
                if (_careTeam == null) _careTeam = new List<ViewUserGroupModel>();
                return _careTeam;
            }
            set { this._careTeam = value; }
        }

    }

我想在我的视图中使用此模型,如下所示

1 - 直接在视图中使用care careteamforfile list迭代@ Model.CareTeamForFile  。但是我想使用Fileforfacility和fileformyteam List来存储视图中的json变量,该变量基于我必须选择或取消选择某些复选框的值

我是否可以在视图页面上将Model元素转换为json。 也建议我最好的方法。

3 个答案:

答案 0 :(得分:3)

您可以使用@Html.Raw(Json.Encode(Model.CareTeamForFile))将列表转换为JSON并将其作为原始HTML返回。然后使用JSON.parse()将其转换为JavaScript对象。

<script type="text/javascript">
    var json = "@Html.Raw(Json.Encode(Model.CareTeamForFile))";

    var model = JSON.parse(json);

    ...
</script>

答案 1 :(得分:1)

Razor可以解析以下内容:

<script type="text/javascript">    
    $(document).ready(function() {
      alert("@Model.CareTeamForFile ");
    }    
</script>

答案 2 :(得分:0)

在mvc Razor

中使用单引号作为使用模型

例如:

$('#txtID').val('@Model.ID');