我在填充子记录方面遇到了挑战。 我之前的代码就像 -
<%= Html.TextBox("DyeOrder.Summary[" + i + "].Ratio", Model.DyeOrder.Summary[i].Ratio.ToString("#0.00"), ratioProperties) %>
此代码在回发后不会呈现更新的值。要解决此问题,我的工作就像 -
<%= "<input id='DyeOrder_Summary_" + i + "__Ratio' name='DyeOrder.Summary[" + i + "].Ratio' value='" + Model.DyeOrder.Summary[i].Ratio.ToString("#0.00") + "' " + ratioCss + " type='text' />"%>
这对我来说非常笨拙。有没有更好的想法...
答案 0 :(得分:0)
只要你做了
return View(YourUpdatedModel);
在你的“回发”之后(我不会在MVC中使用这个术语),它应该没问题。
请记住,返回视图的模型必须具有更新的值。
当您发布到控制器时,与asp.net webforms不同,没有ViewState或类似的东西。您在控制器中接收值,使用它们执行操作,然后返回新视图。
新视图可能与控制器作为参数接收的模型相同(例如,如果存在任何验证错误),但不是必需的。如果没有对与之关联的对象变量进行模型更新(因为它似乎是你的情况),你需要更新你将与视图一起返回的对象,或者创建一个具有正确值的对象和归还那一个。
答案 1 :(得分:0)
怎么样:
<%= Html.TextBox(string.Format("DyeOrder_Summary_{0}__Ratio", i), ...) %>