这个问题很奇怪,也许我已经错过了一些小细节,因为我是新来的MVC 3 ...ValidationMessage并不在我看来渲染(asp.mvc3)
在局部视图,我有一个不同于主视图的模型(我认为这不重要)。我在视图中添加了几个验证辅助调用。无论我做什么,他们都不会出现在页面上。
我已经启用了框架源代码调试,并且我可以看到HTML生成并写入到“输出”。尽管如此,它们并不出现在最终的渲染页面中。我不明白为什么。
在我的部分观点:
@model ModelsDTO.Domain.GridRowDTO
@Html.ValidationSummary()
@Html.TextBox("Kalla")
@Html.ValidationMessage("Kalla")
我有文本框那里只是为了看看它是否呈现。它的确如此。
我的控制器代码(硬编码的消息,只是为了尝试,使其工作):
[HttpPost]
public ActionResult SaveGridRow(GridRowDTO rad)
{
List<string> valideringsFel = _dagboksanteckning.SaveDagbokObjekt(rad);
ModelState.AddModelError("Kalla", "Källan felaktig");
return PartialView("_DagbokGrid", rad);
}
型号:
public class GridRowDTO
{
public string Kronika { get; set; }
public string Ok { get; set; }
public string Datum { get; set; }
public string Tid { get; set; }
public string Kalla { get; set; }
public string Handelse { get; set; }
public string Bedomning { get; set; }
public string Till { get; set; }
public string Rubrik { get; set; }
public string Verksamhetsslag { get; set; }
public string OperationPadrag { get; set; }
public string Verksamhetskod { get; set; }
public string LatitudTecken { get; set; }
public string Latitud { get; set; }
public string LongitudTecken { get; set; }
public string Longitud { get; set; }
public string Media { get; set; }
public string AnnatDokument { get; set; }
public string Region { get; set; }
public string id { get; set; }
}
编辑,非常有趣的发现!
当使用IE9 F12模式跟踪调用时,响应文本实际上包含预期的HTML!为什么不渲染!
<div class="validation-summary-errors"><ul><li>Källan felaktig</li>
</ul></div>
<input class="input-validation-error" id="Kalla" name="Kalla" type="text" value="1" />
<span class="field-validation-error">Källan felaktig</span>
我会真的心存感激,如果我能得到一些援助,来理解这个问题。
请粘贴乌尔模型的代码。“拉德” – 2012-04-20 06:09:23
是请求AJAX或HTTP请求 – Yorgo 2012-04-20 06:10:48
这..... AJAX我认为(保存网格行的jqGrid时做什么)。 – kaze 2012-04-20 06:25:24