0

有没有办法根据我在编辑器模板中输入的值来更新 displayfor 值?我创建了一个自定义编辑器和 displayfor 模板:

@model Models.AddressViewModel

<div class="address">
<div class="row">
    <div class="label">@Html.DisplayFor(model => model.Street)</div>
    <div class="label">@Html.DisplayFor(model => model.HouseNumber)</div>
</div>
<div class="row">
    <div class="label">@Html.DisplayFor(model => model.City)</div>
    <div class="label">@Html.DisplayFor(model => model.ZipCode)</div>
</div>

谢谢,

4

2 回答 2

0

我在这里猜测您的目的,但我假设它们同时在同一页面上?如果是这样,您可以简单地使用 jQuery 即时更新值。

@model Models.AddressViewModel

<div class="address">
<div class="row">
    <div class="label label-street">@Html.DisplayFor(model => model.Street)</div>
    <div class="label label-housenumber">@Html.DisplayFor(model => model.HouseNumber)</div>
</div>
<div class="row">
    <div class="label label-city">@Html.DisplayFor(model => model.City)</div>
    <div class="label label-zipcode">@Html.DisplayFor(model => model.ZipCode)</div>
</div>

然后在 jQuery 中类似于:

$("input#zipCode").blur(function(){
    $("div.label-zipcode").text($(this).val());
});

或者,如果您的表单都是 Ajax,您可以将您的编辑器值发布到控制器,然后作为回复返回显示视图。

我能用你提供的信息做最好的事情。祝你好运!

于 2013-04-04T13:33:03.473 回答
0

你给我的解决方案几乎是正确的。$("div.label-zipcode").val($(this).val());,必须是 $("div.label-zipcode").html($(this).val());

于 2013-04-05T08:23:21.990 回答