asp.net中如何实现dropdownlist的onselectedindexchanged的类似方法

时间:2022-09-19 00:01:21
asp.net中如何实现dropdownlist的onselectedindexchanged的类似方法
用MVC做一个查询系统,根据公司名称查询公司的员工情况
用dropdownlist绑定公司
 <%=Html.DropDownList("list", new List<SelectListItem>
            {
              (new SelectListItem() {Text = "微软", Value = "66"}),
              (new SelectListItem() {Text = "IBM", Value = "67"})
            })%>
  想在  DropDownList中选择不同公司的时候没,触发homecontroller 中的index函数,如何实现这一功能,谢谢  

24 个解决方案

#1


都休班吗?没人回复阿? 

#2


如果 index 里只是返回一些数据,则用Ajax即可,

如果返回的是一个复杂的视图,则需要刷新本页来实现了

#3


怎么用ajax,不会用,能否写详细点,谢谢

#4


在线等啊

#5


用jquery 了吧


  


$(document).ready(function(){
 $("list").bind("change",function(){
  var value = $('#list').val();  
     $.ajax({
type: "get",
url: "http://XXXXXXXXXXXX/home/index",
data: "&depid="+value,
success: function(data, textStatus){
alert(data);
},
error: function(){

}
});
});
});



#6


没有,需要添加iquery引用吗?

#7


引用 5 楼  的回复:
用jquery 了吧


JScript code


$(document).ready(function(){
 $("list").bind("change",function(){
  var value = $('#list').val();  
     $.ajax({
        type: "get",
        url: "http://XXXXXXXXXX……

&depid 是什么呀

#8


还有textStatus 是什么,
url: "http://XXXXXXXXXXXX/home/index",    
我就想刷新一下当前页面,能否写相对路径,怎么写,谢谢

#9


<select onchange="js函数实现"

#10


不明白楼上的到底该怎么写,是在MVC中,不是webform 

#11


  <%=Html.DropDownList("list", new List<SelectListItem>
  {
  (new SelectListItem() {Text = "微软", Value = "66"}),
  (new SelectListItem() {Text = "IBM", Value = "67"})
  },  new { onchange = "this.form.submit();" })%>


onchange 事件可以处理的啊

#12


我试试,谢谢,如有问题,在联系您,谢谢

#13


 <% using (Html.BeginForm("btnclick", "Home", FormMethod.Post, new { target = "_blank" })){%> 
   <%=Html.DropDownList("list", new List<SelectListItem>
    {
    (new SelectListItem() {Text = "微软", Value = "66"}),
    (new SelectListItem() {Text = "IBM", Value = "67"})
    )%> 
    <input type="submit"value="查   找"/>
<%}%>
View中的Index是这样的,这样的话,如果按照您写的那样,DropDownList选项改变后就会触发, Controller中的btnclick,而不是Index阿,谢谢

#14


况且DropDownList选项改变后,会新打开一页,新打开的一页DropDownList显示的还是默认的第一个,而不是选择的那个,如我想选择IBM, 但是新打开的一页显示的还是微软

#15


本帖最后由 net_lover 于 2012-05-21 09:26:53 编辑
触发什么是在BeginForm里面控制,就是表单的提交啊
另外

onchange里面也可以写form的action的啊

#16


那我该怎么实现这一功能呢,就是DropDownList选项改变后重新加载当前页View 中Index,该不是提交表单

#17


那我该怎么实现呢,就是DropDownList选项改变后重新加载以下当前页,view 中的index,而不是提交表单

#18


本帖最后由 net_lover 于 2012-05-21 09:31:04 编辑
刷新
直接
<%=Html.DropDownList("list", new List<SelectListItem>
  {
  (new SelectListItem() {Text = "微软", Value = "66"}),
  (new SelectListItem() {Text = "IBM", Value = "67"})
  }, new { onchange = "window.location.reload();" })%>

就可以了

不管是什么MVC,WebForm还是其他框架,最终的结果都是html,浏览器才能解析。

#19


可以了,就是DropDownList显示的还是默认的第一个,而不是选择的那个,如我想选择IBM, 但是刷新之后显示的还是微软

#20


保持选项
<%=Html.DropDownList("list", new List<SelectListItem>
{
(new SelectListItem() {Text = "微软", Value = "66",Selected=Request.QueryString["s"]=="66"}),
(new SelectListItem() {Text = "IBM", Value = "67",Selected=Request.QueryString["s"]=="67"})
}, new { onchange = "window.location.href='" + Request.FilePath + "?s=' + this.value;" })%>

#21


or
  <%
    String s = Request.QueryString["s"];
    if (s == null) s = "";
  %>
  <%=Html.DropDownList("list", new List<SelectListItem>
{
(new SelectListItem() {Text = "微软", Value = "66",Selected=s=="66"}),
(new SelectListItem() {Text = "IBM", Value = "67",Selected=s=="67"})
}, new { onchange = "window.location.href='" + Request.FilePath + "?s=' + this.value;" })%>

#22


可以了,非常感谢,给你加分阿。谢谢!!!!!!

#23


我想多给你加点分,怎么加阿?

#24


结了,40分都给你了,本来想多给你点,但不知怎么给。bonnibell对不住了,虽然您也给过解决方法,但我比较苯,不知怎么用,谢谢您了

#1


都休班吗?没人回复阿? 

#2


如果 index 里只是返回一些数据,则用Ajax即可,

如果返回的是一个复杂的视图,则需要刷新本页来实现了

#3


怎么用ajax,不会用,能否写详细点,谢谢

#4


在线等啊

#5


用jquery 了吧


  


$(document).ready(function(){
 $("list").bind("change",function(){
  var value = $('#list').val();  
     $.ajax({
type: "get",
url: "http://XXXXXXXXXXXX/home/index",
data: "&depid="+value,
success: function(data, textStatus){
alert(data);
},
error: function(){

}
});
});
});



#6


没有,需要添加iquery引用吗?

#7


引用 5 楼  的回复:
用jquery 了吧


JScript code


$(document).ready(function(){
 $("list").bind("change",function(){
  var value = $('#list').val();  
     $.ajax({
        type: "get",
        url: "http://XXXXXXXXXX……

&depid 是什么呀

#8


还有textStatus 是什么,
url: "http://XXXXXXXXXXXX/home/index",    
我就想刷新一下当前页面,能否写相对路径,怎么写,谢谢

#9


<select onchange="js函数实现"

#10


不明白楼上的到底该怎么写,是在MVC中,不是webform 

#11


  <%=Html.DropDownList("list", new List<SelectListItem>
  {
  (new SelectListItem() {Text = "微软", Value = "66"}),
  (new SelectListItem() {Text = "IBM", Value = "67"})
  },  new { onchange = "this.form.submit();" })%>


onchange 事件可以处理的啊

#12


我试试,谢谢,如有问题,在联系您,谢谢

#13


 <% using (Html.BeginForm("btnclick", "Home", FormMethod.Post, new { target = "_blank" })){%> 
   <%=Html.DropDownList("list", new List<SelectListItem>
    {
    (new SelectListItem() {Text = "微软", Value = "66"}),
    (new SelectListItem() {Text = "IBM", Value = "67"})
    )%> 
    <input type="submit"value="查   找"/>
<%}%>
View中的Index是这样的,这样的话,如果按照您写的那样,DropDownList选项改变后就会触发, Controller中的btnclick,而不是Index阿,谢谢

#14


况且DropDownList选项改变后,会新打开一页,新打开的一页DropDownList显示的还是默认的第一个,而不是选择的那个,如我想选择IBM, 但是新打开的一页显示的还是微软

#15


本帖最后由 net_lover 于 2012-05-21 09:26:53 编辑
触发什么是在BeginForm里面控制,就是表单的提交啊
另外

onchange里面也可以写form的action的啊

#16


那我该怎么实现这一功能呢,就是DropDownList选项改变后重新加载当前页View 中Index,该不是提交表单

#17


那我该怎么实现呢,就是DropDownList选项改变后重新加载以下当前页,view 中的index,而不是提交表单

#18


本帖最后由 net_lover 于 2012-05-21 09:31:04 编辑
刷新
直接
<%=Html.DropDownList("list", new List<SelectListItem>
  {
  (new SelectListItem() {Text = "微软", Value = "66"}),
  (new SelectListItem() {Text = "IBM", Value = "67"})
  }, new { onchange = "window.location.reload();" })%>

就可以了

不管是什么MVC,WebForm还是其他框架,最终的结果都是html,浏览器才能解析。

#19


可以了,就是DropDownList显示的还是默认的第一个,而不是选择的那个,如我想选择IBM, 但是刷新之后显示的还是微软

#20


保持选项
<%=Html.DropDownList("list", new List<SelectListItem>
{
(new SelectListItem() {Text = "微软", Value = "66",Selected=Request.QueryString["s"]=="66"}),
(new SelectListItem() {Text = "IBM", Value = "67",Selected=Request.QueryString["s"]=="67"})
}, new { onchange = "window.location.href='" + Request.FilePath + "?s=' + this.value;" })%>

#21


or
  <%
    String s = Request.QueryString["s"];
    if (s == null) s = "";
  %>
  <%=Html.DropDownList("list", new List<SelectListItem>
{
(new SelectListItem() {Text = "微软", Value = "66",Selected=s=="66"}),
(new SelectListItem() {Text = "IBM", Value = "67",Selected=s=="67"})
}, new { onchange = "window.location.href='" + Request.FilePath + "?s=' + this.value;" })%>

#22


可以了,非常感谢,给你加分阿。谢谢!!!!!!

#23


我想多给你加点分,怎么加阿?

#24


结了,40分都给你了,本来想多给你点,但不知怎么给。bonnibell对不住了,虽然您也给过解决方法,但我比较苯,不知怎么用,谢谢您了