C# 在post之前重新显示所有表单输入
在一些人开始叫喊之前,我意识到也有类似的问题,但他们都在处理单个条目 我有一个很长的表单,希望使用一个通用的方法来处理数据的重新显示。 请注意:这是一个使用razor2视图的asp.NETMVC4应用程序 其中一个字段的示例C# 在post之前重新显示所有表单输入,c#,jquery,html,css,asp.net-mvc-4,C#,Jquery,Html,Css,Asp.net Mvc 4,在一些人开始叫喊之前,我意识到也有类似的问题,但他们都在处理单个条目 我有一个很长的表单,希望使用一个通用的方法来处理数据的重新显示。 请注意:这是一个使用razor2视图的asp.NETMVC4应用程序 其中一个字段的示例 <div class="control-group"> <label class="control-label">@Html.LabelFor(m => m.Name) <span class="required"
<div class="control-group">
<label class="control-label">@Html.LabelFor(m => m.Name)
<span class="required">*</span>
</label>
<div class="controls">
@Html.TextBoxFor(m => m.Name, new { @name = "nameInput" })
</div>
</div>
不幸的是,这似乎不能正常工作。。。。
有人能指出/重新解决这个问题吗?明白了,我需要在模型中使用名称,而不是指定名称
从“页面视图源”中获得了正确的名称,并将该值插入数据显示标记。在这种情况下,这可能不会有什么不同。但我也遇到过这样的情况,在这种情况下,这对我来说很重要。在这里定义
var输入=
。。。尝试var$input=
。。。然后分别通过out将其更改为input
为$input
。再说一次,我并没有说它将100%甚至完全有帮助,但出于某种原因,我记不起来我知道在某些情况下,将$
与var一起使用有助于使用jQuery。我认为它在某种意义上扩展了它,或者根据您的jQuery版本,也可以尝试.prop
而不是.attr
,或者您可以尝试.data
。您也可以尝试.display value:input')。每个(
..和$(this)
而不是$('[name=“'+$(this).attr(“数据显示”)+'],表单)
非常感谢chris,但是上面的任何一个都没有任何效果…我对该方法发出了警告,以确保它在应该的时候触发…因此回到绘图板我去了…明白了,我需要在模型中使用名称,而不是指定名称。从“页面视图源”获得了正确的名称,并简单地将该值插入数据显示标记。
<div class="control-group">
<label class="control-label">Name:</label>
<div class="controls">
<span class="text display-value" data-display="nameInput"></span>
</div>
</div>
var displayConfirm = function() {
$('.display-value', form).each(function(){
var input = $('[name="'+$(this).attr("data-display")+'"]', form);
if (input.is(":text") || input.is("textarea")) {
$(this).html(input.val());
} else if (input.is("select")) {
$(this).html(input.find('option:selected').text());
}
});
}