ASP.NET MVC2 下拉列表和 URL.action
我有一个 Dropdownlist,需要使用其 OnChange 事件上所选 Dropdownlist 值的参数值调用控制器上的操作。
这就是我现在所拥有的。
<%= Html.DropDownList("series",
new SelectList((IEnumerable)ViewData["series"], "ProductId", "SeriesName"),
new { onchange = "??" })%>
我可以将列表包含在表单元素中
<form id="SeriesForm" action="<%: Url.Action("S", "ProductSearch", new {SeriesId = ?? }) %>" method="post">
但是如何设置 SeriesId 参数(该参数应该是下拉列表的选定值)?我尝试将 jQuery 方法附加到 OnChange 事件,但无法更改 Url.Action 方法。
谢谢,
I have a Dropdownlist which needs to call an action on a controller with the parameter value of the selected Dropdownlist value on its OnChange event.
This is what I have right now.
<%= Html.DropDownList("series",
new SelectList((IEnumerable)ViewData["series"], "ProductId", "SeriesName"),
new { onchange = "??" })%>
I can enclose the list in a form element
<form id="SeriesForm" action="<%: Url.Action("S", "ProductSearch", new {SeriesId = ?? }) %>" method="post">
But how do I set the SeriesId parameter which should be the selected value of the dropdown? I tried attaching a jQuery method to the OnChange event but I am not able to change the Url.Action method.
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一个非常简单的方法是使用您要调用的 url 作为下拉列表中选项的值。还有其他方法可以做到这一点,但这是最简单的:
然后从 jQuery,只需获取像这样的 url:
其他方法可以做到这一点:
$(this).val()
,而是请求存储在某处的一些 url 并将$(this).val()
作为数据部分传递: < code>$.get($('#storeMyUrl').val(), $(this).val(), doOnSuccess)编辑: 这是第一个的更详细解释替代方案(为了方便起见,在 Razor 中完成,为了清晰起见,使用明确的 html(希望如此)):
A really simple way is to use the url you want to call as the value of the options in the dropdown. There are other ways to do it, but that's the most bare-bones:
And then from jQuery, just get the url like this:
Other ways to do this:
$(this).val()
you would request some url you stored somewhere and pass$(this).val()
as the data part:$.get($('#storeMyUrl').val(), $(this).val(), doOnSuccess)
EDIT: here's a more detailed explanation of the first alternative (done in Razor for ease, and with explicit html for clarity (hopefully)):