将C#属性传递给onChange事件

时间:2020-07-28 12:35:15

标签: c# asp.net-core-mvc razor-pages

我正在尝试传递在html页面中初始化的C#属性,这是它的外观:

页面内的C#代码:

var user = DataAccess.GetById(signIn.GetUserId(User));
var username = user.Username;
var password = user.Password;

然后我有一个带选项的下拉菜单,我希望当用户选择某些东西时,它将触发一个事件,并将用户名和密码传递给该事件,如下所示:

<select id="userServicesDropDownAuth" class="browser-default custom-select" asp-for="Service" onchange="validateUserAuth(this, @username, @password)">
    @{
        <option style="display:none"></option>
        foreach (var item in services)
        {
            <option>@item.ToString()</option>
        }
    }
</select>

用户名和密码是在到达此方法之前启动的,但是由于某种原因,它不会触发它,只有当我将@移离它们会触发的属性时,它们才会被触发,但是当然是不确定的。 / p>

关于我在做什么错的任何想法?

1 个答案:

答案 0 :(得分:4)

您正在将参数作为对象传递。只需在方法调用中添加引号即可将其作为字符串传递。

validateUserAuth(this, '@username', '@password')
相关问题