Html 如何将参数传递到局部视图

Html 如何将参数传递到局部视图,html,asp.net-mvc,razor,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>

我有这个看法

@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>
@model IEnumerable
为用户显示时间表
选择用户。。。
@Url.Action(“时间表”、“管理员”)
@foreach(模型中的var用户)
{
@users.Name@users.Name
}
@{
RenderPartial(“PartialTimesheet”,新的{userId=???});
}

如何将选择选项值指定给渲染部分视图?

基本上,您不能这样做。原因是:Razor语法是服务器端代码,它将在返回到客户端之前转换为HTML

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

  • 准备好控制器。它必须返回一个局部视图
  • 在javascript代码中,获取dropdownlist的值
  • 对PartialView控制器进行Ajax调用,以获得适当的视图
  • 显示视图

  • 对于代码,您可以查看。这是单选按钮,但dropdownlist是相同的。

    你不能<代码>Html。RenderPartial在发送到客户端之前在服务器上生成。如果要响应客户端事件,需要javascript和ajax调用返回部分视图的控制器方法OK,我的部分视图将写在angularjs上,但如何获取我的dropdownlist的值?使用以下命令:
    $('#dropDownId:selected')。text()。以下是答案的答案。