2010-10-26 60 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