如何在MVC 3.0 Razor中使用DataContract

问题描述

| 我有一个简单的看法:
@model Szamam.Models.Question

@{
    ViewBag.Title = \"display\";
    Layout = \"~/Views/Shared/_Layout.cshtml\";
}

<h2>display</h2>

<fieldset>
    <legend>Question</legend>

    <div class=\"display-label\">Content</div>
    <div class=\"display-field\">
        @Html.displayFor(model => model.Content)
    </div>

    <div class=\"display-label\">CreationDate</div>
    <div class=\"display-field\">
        @Html.displayFor(model => model.CreationDate)
    </div>

    <div class=\"display-label\">nickname</div>
    <div class=\"display-field\">
        @Html.displayFor(model => model.Creator.NickName)
    </div>
</fieldset>
型号类别:
using System;

namespace Szamam.Models
{
    public class Question
    {
        private string _content;

        public string Content
        {
            get { return _content; }
            set { _content = value; }
        }

        public User Creator
        {
            get { return _creator; }
            set { _creator = value; }
        }

        public DateTime CreationDate
        {
            get { return _creationDate; }
            set { _creationDate = value; } 
        }

        private User _creator;

        private DateTime _creationDate;
    }
}
还有我的控制器
namespace Szamam.Controllers
{
    public class QuestionController : Controller
    {
        //
        // GET: /Question/

        public ActionResult display()
        {
            return
                View(new Question {Content = \"someContent\",Creator = new User {NickName = \"someNickName\"},CreationDate = DateTime.Now});
        }

    }
}
现在我需要使用wcf服务和从中获得的模型类,所以问题是: 如果要从wcf服务中获取模型类,是否需要在asp.net mvc项目中使用模型类? 还是我需要一些从datacontract到Webservice的模型类的转换器? 如果您能给我一些例子,我会很高兴 最好的祝福     

解决方法

        您可以立即使用WCF服务中的对象,但我不建议这样做。我将为您的视图使用ViewModel,也将您与WCF服务的连接抽象化。