[英]How to: embed @Ajax.ActionLink inside an HTMLselect list option?
我正在尝试将Ajax.ActionLink
嵌入到HTML选择选项中,如下所示
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"</script>
<select>
<option>@Ajax.ActionLink("Opiton 1", "MyAction", new { parameter = "parm1" },
new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace,
LoadingElementId = "myDiv" })</option>
<option>@Ajax.ActionLink("Opiton 2", "MyAction", new { parameter = "parm1" },
new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace,
LoadingElementId = "myDiv" })</option>
</select>
<div id="myDiv"></div>
动作方法
public ActionResult MyAction(string parameter)
{
ViewModel myViewModel = new ViewModel();
myViewModel.Parm = parameter;
if (Request.IsAjaxRequest())
{
return PartialView("_MyPartial", myViewModel);
}
else
{
return View(myViewModel);
}
}
当我将Ajax.ActionLink
放置在选择列表之外时,它可以正常工作并直接进入MyAction。 当我在选择列表中的选项中嵌入链接时,onlclick事件无法触发。
如何获取onclick事件在<option></option>
内部触发?
为什么在select元素内有2个Action链接。 我猜您想调用一个动作方法并将返回值设置为div。 我不会为此使用Microsoft ajax库。 我会用这样的干净代码手动完成此操作。(我只需要引用页面中的jQuery库即可。
//include only jQuery library. Nothing else !
<select id="dropDown1">
<option value="0"> Select</option>
<option value="1"> Detroit</option>
<option value="2"> Florida</option>
</select>
<script type="text/javascript">
$(function(){
$("#dropDown1").change(function(){
$.get("@Url.Action("MyAction", "MyController")",
{ "parameter" : $(this).val()},function(data){
$("#myDiv").html(data);
});
});
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.