值没有从service-proxies.ts文件传递到Appservices.cs



我正在尝试从文本框中获取电子邮件id值,并希望在cs文件中的api方法中发送它。但它不起作用,我已经尝试了下面的代码。。有人能帮我吗?

值成功进入服务文件,我有警告,但没有进入cs文件。

我在前端使用Angular,在后端使用.Net核心API。这也是Aspnetzero项目。

下面首先是register.component.html文件代码:

<div class="form-group">
<input #emailAddressInput="ngModel" 
placeholder="{{'EmailAddress' | localize}} *" 
[(ngModel)]="model.emailAddress" name="EmailAddress" required maxlength="256"/>
</div>
<div class="pb-lg-0 pb-5">
<button type="button" class="btn btn-primary blue float-right"
(click)="checkUserExist(model.emailAddress)">Continue</button>
</div>

以下是来自寄存器component.ts文件的代码

checkUserExist(emailid): void {
this._accountService.registerHostLevelUser(emailid).subscribe((result) => {
alert(result);
});
}

下面是我在service-proxies.ts文件中的函数代码。

registerHostLevelUser(value:any){
let url_ = this.baseUrl + "/api/services/app/Account/RegisterHostLevelUser";
url_ = url_.replace(/[?&]$/, "");
return this.http.post(url_,value);
}

以下是来自AccountAppServices.cs文件的代码

public async Task<string> RegisterHostLevelUser(string value)
{
Debug.WriteLine(value); // here i am trying to write value but it is alwasy coming null.
return "Done";
}

在post方法中,控制器希望将一个JSON对象作为参数传递,而您正试图绑定单个字符串,因为字符串不是JSON对象,所以该方法不起作用。

试试这个:

[Route("{args}")]
public async Task<string> myMethod([FromRoute] string args) {}

并更改此部分以及

registerHostLevelUser(value:any) {
let url_ = this.baseUrl + "/api/services/app/Account/RegisterHostLevelUser/" + value;
url_ = url_.replace(/[?&]$/, "");
return this.http.post(url_,null);
}

同样,您可以使用单个字符串属性构建和对象,并将对象作为参数作为JSON主体传递给控制器,但以上方法更实用。

相关内容

最新更新