我正在尝试传递在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>
关于我在做什么错的任何想法?
答案 0 :(得分:4)
您正在将参数作为对象传递。只需在方法调用中添加引号即可将其作为字符串传递。
validateUserAuth(this, '@username', '@password')