在Angular中将参数传递给Asp.Net MVC可以通过使用HttpClient来实现。以下是一个示例代码:
在Angular中:
import { HttpClient } from '@angular/common/http';
...
constructor(private http: HttpClient) {}
...
// 通过POST请求将参数传递给Asp.Net MVC
sendDataToMVC(data: any) {
const url = 'http://localhost:5000/api/controller/action';
return this.http.post(url, data);
}
在Asp.Net MVC中的控制器中:
[HttpPost]
public ActionResult ActionName([FromBody] DataType data)
{
// 处理传递过来的参数
return Ok();
}
请确保在Angular的app.module.ts文件中导入HttpClientModule并将其添加到imports数组中:
import { HttpClientModule } from '@angular/common/http';
...
@NgModule({
...
imports: [
...
HttpClientModule
],
...
})
export class AppModule { }
同时,还需要在Asp.Net MVC的Startup.cs文件中设置跨域访问:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowOrigin",
builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseCors("AllowOrigin");
...
}
这样就可以在Angular中将参数传递给Asp.Net MVC了。在实际使用中,根据你的具体需求,可能需要调整代码和参数的类型。