2010-10-26 97 views
0

我正在使用asp.net MVC2。我在JavaScript內容的狀態管理中遇到問題。 我有一個圖像映射,其中點擊圖像的各個部分,我顯示了一些相同的頁面(帶參數的重定向),例如:Secure/BodyWork?view = 7 並基於參數視圖中的值顯示頁面上的各種內容。在那個內容中,我有一些複選框,我選中並在左側顯示它在一個div(選中一個)。 這個問題是當我點擊圖像(圖像地圖)的另一部分時,它會將我切換到具有不同「視圖=?」的相同頁面。值,但我loos當前div的狀態(其中包含上一頁的選中複選框的名稱)。MVC中的javascript conent的狀態管理

我inherites行是這樣的:

Inherits="System.Web.Mvc.ViewPage<List<WBAC.Models.BodyWorkModel>>" 

控制器包含:

public ActionResult BodyWork(string view) 
    { 
SecureModelService service = new SecureModelService(); 
     return View(service.ListBodyWork(view)); 
    } 

     [HttpPost] 
    public ActionResult BodyWork(BodyWorkModel model1) 
    { 
     //some code 
    } 

我試圖隱藏字段,以便在我把當前頁面的複選框的名字,但當然是那些失去價值當我點擊圖像地圖,因爲頁面重定向到當前頁面。

我也嘗試過使用ajax.beginform,但它也不起作用,因爲我們在點擊圖像地圖時將頁面重定向到不同的參數(例如:view = 3/view = 4)。

請給我建議我應該改變什麼以及如何去做。

感謝

代碼在目標DIV:

<div class="damageAreaMid" id="dvdamageAreaMid"> 
         <% foreach (var item in Model) 
          { %> 
         <div class="area"> 
          <h2> 
           <%: item.Component %></h2> 
          <% Html.RenderPartial("~/Views/Shared/UCWorkArea.ascx", item.VehicleOption(item.ComponentID, item.Component));%> 


         </div> 
         <% } %> 
        </div> 

回答

1

你可以使用AJAX和刷新需要刷新頁面只有部分。

public ActionResult BodyWork(string view) 
{ 
    SecureModelService service = new SecureModelService(); 
    return View(service.ListBodyWork(view)); 
} 

public ActionResult BodyWork(BodyWorkModel model) 
{ 
    //some code 
    return PartialView(model); 
} 

而且在你看來AJAXify影像地圖上的鏈接:

$(function() { 
    $('#somecontainer a').click(function() { 
     $('#someresultcontainer').load(this.href); 
     return false; 
    }); 
}); 
+0

實際上是在目標的div我使用循環使用用戶控件來顯示數據。代碼: – 2010-10-26 08:50:02

+0

我已經放置了我的目標股利代碼的問題。請幫助我 – 2010-10-26 08:51:57