如何在没有控制器操作的情况下在Asp.net MVC中为部分视图创建ActionLink

时间:2013-06-04 04:34:14

标签: asp.net-mvc razor

我有选择框,当用户选择选择框的项目时,它会动态激发部分视图。
我的计划是在每个选项中创建ActionLinks。我已经创建了我的部分视图。我没有计划为部分视图创建单独的控制器操作。我想在用户选择选项项目时调用部分视图,如@ Html.ActionLink(“我的部分视图的链接”)
方法或类似的东西。 我怎么用剃刀做这个?有没有其他方法可以做到这一点?   

编辑:有12个部分视图可供渲染,所以有没有办法在没有Action的情况下运行代码,我想在没有单击提交按钮的情况下触发局部视图?

2 个答案:

答案 0 :(得分:1)

你可以像这样使用jquery进行更改。

@Html.DropDownList("DropDownCategory", new SelectList(Model.Category, "ID", "Name"))
@Html.ActionLink("Submit name", "ActionName", "ControllerName", null, new { @id = "SubmitName" })

<script type="text/javascript">
    $('#SubmitName').click(function () {
        var value = $('#DropDownCategory').val();
        var path = '@Url.Content("~/ControllerName/ActionName")' + "?CategoryId=" + value
        $(this).attr("href", path);
    });
</script>

答案 1 :(得分:1)

你可以试试 - 首先需要更改选择框的选定值,然后从控制器调用操作

在Controller(HomeController)上

 public PartialViewResult PartialViewTest()
    {
        return PartialView();
    }

观看

<select>
<option value="0">One</option>
<option value="1">Two</option>

<script>
$("select").change(function () {
    $.get('@Url.Action("PartialViewTest", "Home")', function (data) {
        $('#detailsDiv').replaceWith(data);
    });
}).trigger('change');

希望它可以帮助你