2011-08-24 93 views
0

常见问题是:如何调用Controller.Action并将其发送给标准html事件的某些参数(如onbluronclick)。如何在Asp.Net MVC的标准html事件中调用控制器动作?

我使用Asp.Net MVC3。

原始状态: 我的DropDownList我的网页上是这样的:

@Html.DropDownList("DropDownList", ViewBag.selectList as IEnumerable<SelectListItem>)

我不想使用@Html.DropDownListFor,因为这意味着我要救我的模型的一些附加信息是不可能的。

我需要什么:调用DropDownListSelectionChanged(int moduleId)同一个控制器的动作SelectedIndexChanged事件并将选定项目值发送到此操作。

请帮忙。

+0

你想要一个完整的页面文章或ajax? – Tejs

+0

Ajax或甚至只是获取请求(我知道调用SelectedIndexChanged上的新页面听起来很奇怪)。 –

回答

3

这很简单。您可以使用MVC内置的Ajax.BeginForm,也可以使用jQuery发送请求。我会告诉你jQuery的例子(只是因为jQuery让Ajax愚蠢的容易,很容易写):

$('#myDropDownIdAttribute').change(function() 
{ 
    $.ajax({ 
     url: 'Some/ActionName', // SomeController, ActionName 
     data: { selectedValue: $(this).val() }, 
     success: function() 
     { 
      // Success Callback 
     } 
    }); 
}); 

那么你的操作方法是这样的:

public ActionResult ActionName(string selectedValue) 
{ 
    // Do Stuff 
} 
+0

这正是我正在寻找的。谢谢。 –

相关问题