【发布时间】:2011-05-09 20:26:39
【问题描述】:
我正在构建一个网页站点,但在尝试将 ModelState 数据传递到部分页面时遇到问题。
这里是 Create.cshtml 的代码:
@{
Page.Title = "Create Fund";
var name = "";
if (IsPost) {
name = Request.Form["name"];
if (!name.IsValidStringLength(2, 128)) {
ModelState.AddError("name", "Name must be between 2 and 128 characters long.");
}
}
}
@RenderPage("_fundForm.cshtml", name)
这是_fundForm.cshtml的代码:
@{
string name = PageData[0];
}
<form method="post" action="" id="subForm">
<fieldset>
@Html.ValidationSummary(true)
<legend>Fund</legend>
<p>
@Html.Label("Name:", "name")
@Html.TextBox("name", name)
@Html.ValidationMessage("name", new { @class = "validation-error" })
</p>
<p>
<input type="submit" name="submit" value="Save" />
</p>
</fieldset>
</form>
我遇到的问题是当“名称”出现错误时,不会显示验证错误。有没有特殊的方法可以在两个页面之间传递ModelState?
_fundForm 将在 Create.cshtml 和 Edit.cshtml 之间共享。
【问题讨论】: