【发布时间】:2013-09-17 16:27:59
【问题描述】:
我想用 knockout.js 和 MVC 4 创建一个单页网站。
进行一些更改后,用户将单击针对控制器 Save 操作的保存按钮。
控制器端我想验证输入数据。
如果数据有效 - 我需要调用 WCF 方法。
如果数据无效 - 我会向客户端返回一些内容并告诉他们“名字太长”之类的信息。
制作这样的东西很简单:
- 使用 DataAnnotations 声明
SiteModel - 声明控制器动作
public JsonResult Save(SiteModel data) - 如果模型有效,则创建 WCF DataContract 的新实例并调用 WCF 方法
代码:
public JsonResult Save(SiteModel data)
{
if (ModelState.IsValid)
{
var ui = WcfUserInfo{FirstName = data.FirstName};
if(wcfclient.wcfmethod(ui))
return Json("IsValid");
}
return Json("IsNotValid");
}
是否可以使用 DataAnnotations 创建 DataContract 并在 Save 方法中使用此 DataContract,例如 public JsonResult Save(WcfDataContract data)?
我只是不想使用相同的数据创建和支持两个不同的类:一个 MVC 模型和一个 WCF DataContract。
谢谢。
更新:
这2个帖子解决了我的问题。
Send objects with custom attributes via a wcf service
How to make WCF client use the same data types as the WCF service
【问题讨论】:
标签: wcf asp.net-mvc-4