0

我在 .Net Create 上有一个工作人员选择器,我遵循以下堆栈溢出来使其工作: How to get input values from mgt-people-picker when a FORM is submit

... mgt 组件文档还有很多不足之处。

在我的表格中,我有以下内容:

<mgt-people-picker selection-mode="single">
    <template data-type="selected-person">
        <input type="hidden" value="{{person.userPrincipalName}}" name="selectedPerson" id="transmissionEstimator" />
        @if (CREATE CONDITION)
        {
            <mgt-person view="oneLine" person-details="{{person}}" fetchImage=true></mgt-person>
        }
        else
        {
            var selectedPerson = @Html.Raw(Json.Encode("emailstringfrom@backend.com"));
            <mgt-person view="oneLine" person-details="{{person}}" defaultSelectedUserIds=@selectedPerson fetchImage=true></mgt-person>
        }
    </template>
</mgt-people-picker>

在我的后端保存功能中,我有以下内容:

Request.Form["selectedPerson"];

所以我可以在 CREATE 条件下添加用户,但是当我触发表单的编辑版本(通过断点确认)时,我希望看到被选为组件上默认选定用户的用户。(他们的电子邮件已存储,现在来自数据库)

查看元素(开发工具 - F12)我看到该属性已被填充!(出于隐私原因,我删除了电子邮件。但它的格式为 {["user@domain.com"]} 并通过 ViewModel 传递给defaultSelectedUserIds

触发编辑表单后从控制台

还是没有骰子...

我尝试过的其他一些事情也使用default-selected-user-ids的属性版本尝试了这些格式

  1. [{"user@domain.com"}]
  2. {"user@domain.com"}
  3. “用户@domain.com”

我的格式不正确吗?我没有正确传递值吗?

任何帮助将不胜感激!

4

1 回答 1

0

mgt-person组件目前不支持 default-selected-User-ids https://docs.microsoft.com/en-us/graph/toolkit/components/person#properties,实际上只支持 mgt-people-picker零件。

而是尝试将person-query用户的电子邮件传递给 mgt-person 的属性,请在此处查看操场上的最后一个示例: https ://mgt.dev/?path=/story/components-mgt-person--more-examples

于 2021-04-02T18:35:17.893 回答