C# 在post之前重新显示所有表单输入

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"

在一些人开始叫喊之前,我意识到也有类似的问题,但他们都在处理单个条目

我有一个很长的表单,希望使用一个通用的方法来处理数据的重新显示。 请注意:这是一个使用razor2视图的asp.NETMVC4应用程序

其中一个字段的示例

<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());
        } 
    });
}