2010-02-25 85 views
0

现在,我可能只是非常厚实,但我很努力地找到如何使用ASP.NET MVC 1中的Html.Listbox做autopostback。ASP.NET MVC中的Html.Listbox的AutoPostback?

我想要实现的只是一个简单的如果ListBox1的值是x那么ListBox2中的值是y,如果我将ListBox1中的值更改为z那么我希望ListBox2的值根据该信息进行更改。

该信息将从数据库中提取。我知道这很容易在标准的ASP.NET,但我看不到一个明显的方式来做到这一点与MVC。

难道有人指着我正确的方向吗?

在此先感谢您的帮助。

回答

3

回传和ASP MVC是不是真的compatable,你应该看看使用jQuery,很不客气地像...

$(function() { 
    $('#box1').change(function() { 
      $.post('/controller/actionThatReturnsAPartialView', 
        { selectedID : $('box1').val()}, 
        function(data){ 
         $('#box2').html(data); 
        } 
      ); 
    }); 
}); 

MVC,通过设计,削减了大部分的asp.net抽象的视图状态一样回传和,它低得多。

+0

问题是,我不是在返回部分视图后,我只是想更改第二个框中的数据。 – LiamGu 2010-02-25 12:00:43

+0

第二个框中的数据是html,应该使用局部视图呈现,我会想象,您可以返回json/xml并将其呈现在客户端,或者如果您喜欢,可以返回一个字符串,这取决于您。 – 2010-02-25 20:02:45

0

在MVC中,您不像传统ASP.NET中那样具有相同的回发模型。要做你想做的事,最好的解决方案是使用javascript并将其添加到列表框上的onchange-attribute以及像jquery.ajax之类的东西来向服务器发出请求。你也可以让javascript在表单上做一个帖子,然后再返回整个页面。