Passe uma variável de string do front end (HTML / .ts para o controlador C #).
Estou folheando a documentação do angular.io e orientações feitas por pessoas não oficiais. Assisti a vídeos e parece que nada disso é relevante para o meu código. Comecei um novo projeto (aplicação web ASP.NET Core com Angular) no Visual Studio 2019. Existem componentes .ts e controladores .cs. Meu HTML está configurado para receber uma entrada de string. Tentei usar a solicitação HTTP POST e solicitações ajax. Posso ter feito isso incorretamente com os argumentos errados. Eu consultei
Como enviar dados para um controlador ASP.NET com Angular2
ASP.Net MVC Como passar dados da visualização para o controlador
Passando dados do modelo da vista para o controlador e usando seus valores
AngularJS e asp.net MVC - passando dados para o controlador?
e inúmeros outros que não estão no StackOverflow.
.html
<input #box (keyup)="onKey(box.value)">
Your name is: {{name}}
.ts
onKey(value: string)
{
this.name = value;
}
Espero que a string de nome esteja disponível no controlador, onde posso imprimi-la e depois usá-la em um banco de dados.
Eu crio uma demonstração usando o template Angular central do asp.net. Ele passa dados no Keyup.
1.home.component.html
<input #box (keyup)="onKey(box.value)">
Your name is: {{name}}
2.home.component.ts
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
})
export class HomeComponent {
name: string;
constructor(
private http: HttpClient
) { }
onKey(value: string):void {
this.name = value;
const formData: FormData = new FormData();
formData.append('name', this.name);
this.http.post('https://localhost:44336/api/SampleData/TestName', formData).subscribe(result => {
console.log(result);
}, error => console.error(error));
}
}
3. Controlador de SampleData (/ api / sampleData)
[HttpPost("TestName")]
public JsonResult TestName(string name)
{
//your logic
return Json(name);
}
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras