【问题标题】:Passing C# attributes to onChange event将 C# 属性传递给 onChange 事件
【发布时间】:2020-11-17 21:39:50
【问题描述】:

我正在尝试传递在 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>

用户名和密码在达到此方法之前已启动,但由于某种原因,它不会触发它,只有当我将@从属性中取出时,它们才会触发但当然是未定义的。

对我做错了什么有任何想法吗?

【问题讨论】:

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


    【解决方案1】:

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

    validateUserAuth(this, '@username', '@password')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-14
      • 2015-03-07
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 2021-08-22
      • 2020-05-27
      • 2010-10-13
      相关资源
      最近更新 更多