DropDownList OnSelectedIndexChanged未在ASP.NET MVC中调用

时间:2012-01-23 17:51:00

标签: asp.net-mvc

请告诉我,为什么这个示例代码在ASP.NET MVC上不起作用?

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.onselectedindexchanged.aspx

谢谢

1 个答案:

答案 0 :(得分:2)

该代码不起作用,因为asp.net mvc不具备控件知识,在asp.net webforms中使用(ListControl是其中一个控件)。 WebForms控件依赖于webforms框架生成的ViewState和javascripts。 Asp.net mvc没有viewstate的概念,也没有为页面生成任何默认的javascript。

如果你想在asp.net mvc中从客户端触发操作,你可以编写纯html和javascript(为简单起见使用jquery)。 在控制器

//action to invoke dynamically
public ActionResult GetSomeData(int id)
{
   return Content("id is " + id);
}

在视野中

<select id="myselect">
     <option value="1">One</option>
     <option value="2">Two</option>
</select>
<script>
   $(function(){
      $('#mySelect').change(function(){
          $.get('@Url.Action("GetSomeData")', {id: $(this).val()}, function(data) {
              alert(data);
          });
      });
   });
</script>

这应该警告'id为1','id为2'。