如何将参数传递给局部视图

时间:2015-09-21 11:36:09

标签: html asp.net-mvc razor

我有这个观点

@model IEnumerable<Helpdesk.Infrastructure.Tools.IdNameSurname>

<div class="col-lg-12">
        <div class="user-select">
            <span style="display: inline-block">Show timesheet for user</span>
            <div class="user-select-dropdown">
                <select class="form-control">
                    <option value="" disabled selected>Select user...</option>
                    @Url.Action("Timesheet", "Administrator")
                    @foreach (var users in Model)
                    {
                        <option value="@users.Id">@users.Name @users.Surname</option>
                    }
                </select>
            </div>
        </div>
        @{
            Html.RenderPartial("PartialTimesheet", new { userId = ??? });
        }
    </div>

如何将我的选择选项值分配给我的RenderPartial视图?

1 个答案:

答案 0 :(得分:2)

基本上,你不能这样做。原因是:Razor语法是服务器端代码,在返回客户端之前会变成HTML。

所以,正确的方法是使用javascript。以下是步骤:

  1. 准备好您的控制器。它必须返回PartialView。
  2. 在您的javascript代码中,获取dropdownlist的值。
  3. 对PartialView控制器进行Ajax调用以获取适当的视图。
  4. 显示视图。
  5. 对于代码,您可以查看here。它是单选按钮,但下拉列表是相同的。