2

我有 2 个字段。一个是主字段,可以克隆。我通过 HTML.DisplayFor 显示两者。我正在尝试制定一种实用的方法来显示可能对主服务器进行的任何更改,以便用户可以在需要时更新克隆。我认为这是一种“跟踪更改”功能。以为我有包括:

1) 比较每个字段的更新日期,因为每个字段都存在于不同的记录中。然而,这只是表明记录已经改变。

2) 比较两者,如果不同,请告知用户。再次只是表明文本相同或不同,而不是有什么不同。

不确定是否有任何实用程序/程序集提供突出显示/划掉类型“跟踪”功能。

非常感谢您的帮助。

编辑

我认为这可能更复杂。我想我实际上需要将我的新值与原始值进行比较,然后显示变化。所以原件应该保存在日志表中,所以我有一个旧版本和一个新版本。克隆是什么无关紧要,因为用户可能已经进一步改变了这一点。

4

1 回答 1

1

我不太确定我理解主/克隆/隐藏字段背后的想法,所以我在这部分有点即兴发挥,但我认为这至少应该让你知道如何做到这一点。

这将基本上将原始“主”值存储在该字段中:

@Html.Hidden("hidden", "I am a hidden field");

请注意,当您使用返回视图模型时,您可以完美地设置此值

@Html.HiddenFor()

当用户跳出master文本框,并且值不等于“我是隐藏字段”时,将显示警报。(请注意,您需要以某种方式加载 jquery,或者像我在下面那样显式加载它,或者通过使用@Scripts.Render("~/bundles/jquery")

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">

    $(document).ready(function ()
    {
        $("#master").focusout(function () {
            compareValues();
        });      

        function compareValues(){
            if ($("#master").val() !=  $("#hidden").val())
            {
                $("#hidden").val();
                alert("Original master value: " + $("#hidden").val() + " new master value: " + $("#master").val());
            }
        }

    });
</script>

@Html.Hidden("hidden", "I am a hidden field");

<input type="text"  id="master" />
<input type="text"  id="clone"/>
于 2013-07-20T16:17:46.227 回答