请告诉我,为什么这个示例代码在ASP.NET MVC上不起作用?
谢谢
答案 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'。