2011-04-20 38 views
0

我想創建一個頁面,其中包含一個窗體,其中一個窗體由圖像列表表示。用戶將選擇其中一個圖像,輸入一些附加信息並單擊一個按鈕將數據提交回服務器。ASP.NET MVC中可選擇的圖像「按鈕」

我已經能夠使用for-each語句生成列表,其中div元素提供正確的佈局和流程。我已經看過使用jQuery Selectable插件來管理從列表中選擇,突出顯示所選項目等,但我堅持如何將所選信息發送回服務器。

首先,我需要一種方法來爲html中的每個項目嵌入標識符。然後,我需要在提交表單時將所選項目的值發送到服務器。

我在正確的軌道上或朝着錯誤的方向前進?我該如何做這項工作?

回答

0

不知道這是做的最好的方式,但在許多小時通過絆我的路後,這裏是我想出了:

<style type="text/css"> 
    .ui-selected 
    { 
     background-color:Yellow; 
    } 
</style> 

<script type="text/javascript"> 
    $(function() { 
     $("#buttons").selectable(
     { 
      filter: "div", 
      selected: function (e, ui) { 
       var value = $(ui.selected).children("input").first().val(); 

       $("#SelectedValue").val(value); 
      } 
     }); 
    }); 
</script> 

<% using (Html.BeginForm()) 
    { %> 
    <%= Html.Hidden("SelectedValue") %> 
<% } %> 

<div id="buttons"> 
    <% foreach (var item in Model.Items) 
     { %> 
     <div class="image_button_large" 
      style="float:left;" 
      title="<%= Html.Encode(item.Name) %>" 
      > 
      <div class="button_image">&nbsp;</div> 
      <%= Html.Encode(item.Name) %> 
      <%= Html.Hidden("itemId", item.ID) %> 
     </div> 
    <% } %> 
</div> 
0

我不能給予好評尚未:( - 但你「真是我的英雄的最佳解決方案

如果有幫助的人,雖然,一個小調整

添加:。

cancel: "a" 

旁邊的過濾器將允許可選項目中的鏈接仍然工作