编辑 - 我们正在使用MVC4开发预览....
我正在为一个FishingTrip类实现一个编辑页面. FishingTrip包含简单Crew对象的子集合(即FishingTripID,CrewID,CrewPosition).
我正在使用Jarrett Meyer的方法来添加,编辑和删除Crew集合.我正在使用不显眼的验证来指定属性Crew都是Required.
我的问题:当我从列表中逻辑删除一个项目时(按照Jarrett的方法),我不希望该项目得到验证.
我已成功调整客户端的"removeRow"方法,以禁用对逻辑删除的项目进行不显眼的验证,以便尽管存在包含空白字段的项目,表单仍会发布.
在我的控制器方法中[HttpPost] Edit,ModelState.IsValid启动为false(正如预期 - 因为逻辑删除的项目包含空白字段.)所以我从我的ViewModel中删除该项目....但ModelState.IsValid仍然是假的.
总之,我(我想)我想在控制器方法中修改我的ViewModel以删除有问题的项目,然后调用某种"revalidate",并ModelState.IsValid显示为true.
有任何想法吗?
asp.net-mvc unobtrusive-validation asp.net-mvc-3 asp.net-mvc-4
我可以看到我ModelState.Values[x].Errors正确填充了单个属性的两个验证错误.
如果我@Html.ValidationSummary()在我的视图中使用a ,它会正确显示两个错误....尽管在页面的顶部,而不是在有问题的输入旁边.
使用仅@Html.ValidationMessageFor(model => model.MyProperty)显示该属性的第一个错误!
如何在适当的输入旁边显示两个错误?
计算当前(澳大利亚)财政年度第一天的最有效方法是什么?
澳大利亚风险于01年7月开始.
例如
SELECT dbo.FinancialYearStart('30-Jun-2011') 返回2010年7月1日.
SELECT dbo.FinancialYearStart('01-Jul-2011') 返回2011年7月1日.
SELECT dbo.FinancialYearStart('02-Jul-2011') 返回2011年7月1日.
研究ASP.NET 4.5 WebForms中新的强类型,模型绑定方法:
在Scott Hanselman的 WebForms模型绑定示例(以及其他)中,我看到使用在"编辑"模式下打开的FormView,其中包含一些DynamicControls 例如
<asp:FormView runat="server" ID="MyForm" ... DefaultMode="Edit">
<EditItemTemplate>
<asp:DynamicControl runat="server" ID="Field1" DataField="Field1" Mode="Edit" />
<asp:DynamicControl runat="server" ID="Field2" DataField="Field2" Mode="Edit" />
</EditItemTemplate>
</asp:FormView>
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我的FormView ItemTemplate,EditItemTemplate并且InsertItemTemplate将是相同的,除了ItemTemplate的控件将处于"ReadOnly"模式.
我(仍)确实需要在FormView中提供三个几乎完全相同的模板副本吗?
我很高兴使用DynamicControls,但是这里的团队永远不会采用FormView所需的"3x复制粘贴"方法,特别是对于我们的大型模板.
我原以为可能:
任何例子/想法?
我想要一个div来显示ViewModel bool是否设置为true.
我试过这个:
$(function () {
$("#myDiv").toggle(@Model.IsRequired);
}
Run Code Online (Sandbox Code Playgroud)
但@Model.IsRequired显示为"真"或"假",而不是"真"或"假".
有任何想法吗?
asp.net-mvc ×2
asp.net ×1
asp.net-4.5 ×1
jquery ×1
razor ×1
sql ×1
sql-server ×1
t-sql ×1
validation ×1
webforms ×1