這個問題很奇怪,也許我已經錯過了一些小細節,因爲我是新來的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