2013-04-04 90 views
0

有沒有辦法根據我在模板的編輯器中輸入的值更新displayfor的值?我創建了一個自定義的editorfor和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> 

感謝,

回答

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,你可以發佈你的編輯值到控制器,然後在返回的答覆顯示視圖。

我可以用你給的信息做的最好的。祝你好運!

0

您給我的解決方案几乎是正確的。 $(「div.label-zipcode」)。val($(this).val());必須是$(「div.label-zipcode」)。html($(this).val());

+0

啊是的。我的錯。 .text或.html都可以工作。我會更新。 – 2013-04-05 14:33:19