2013-05-17 59 views
1

我在回发模型中遇到问题。模型的字段全为空。我错过了什么?模型在发布时包含空字段

这里是我的模型:

public class NewDiscussionModel 
    { 
     [DataType(DataType.Text)] 
     [Required] 
     [Display(Name="Title")] 
     public string Title; 

     [DataType(DataType.MultilineText)] 
     [Required] 
     [Display(Name="Message")] 
     public string Message; 
    } 

这里是我的控制器:

[HttpPost] 
[Authorize] 
public ActionResult NewDiscussion(NewDiscussionModel model) 
{ 
    return View(); 
} 

这是我的观点:

@model Tarantula.Models.NewDiscussionModel 

@{ 
    ViewBag.Title = "Index"; 
} 


<link rel="stylesheet" href="/codemiror/lib/codemirror.css".> 
<script src="/codemirror/lib/codemirror.js"></script> 
<script src="/codemirror/mode/javascript/javascript.js"></script> 

@using (Html.BeginForm()) 
{ 
    @Html.LabelFor(m => m.Title) 
    @Html.EditorFor(m => m.Title); 
    @Html.LabelFor(m => m.Message); 
    @Html.TextAreaFor(m => m.Message); 
    <input type="submit" value="Submit" /> 
} 

任何帮助极大的赞赏。

马克

+0

我通常做的第一件事就是把一个断点操作方法中,并期待在原始请求(例如'Request.Form')。如果那里有数据,这可能是一个有约束力的问题。如果不是,那么这个观点可能有些问题。如果断点没有被击中,路由,表单动作,HTTP方法(GET/POST)等都可能出现问题。 –

+0

不应该关闭;问题相当普遍。 –

回答

2

你缺少getter和setter

public class NewDiscussionModel 
    { 
     [DataType(DataType.Text)] 
     [Required] 
     [Display(Name="Title")] 
     public string Title {get; set;} 

     [DataType(DataType.MultilineText)] 
     [Required] 
     [Display(Name="Message")] 
     public string Message{get; set;} 
    } 
+0

谢谢!我永远都忘记了! – serlingpa

+0

你不是唯一的一个。我看到这个问题很多。 –

相关问题