IE(ASP.Net,Angular 5,Entiy-Framework)不会刷新Angluar页面的数据内容

时间:2018-08-16 11:46:58

标签: asp.net angular internet-explorer refresh angular-routing

我在使用asp.NET(2.1)和Angular 5构建用于IE的Web应用程序时遇到了一个奇怪的问题。在ngOnInit() home.components.ts )上,我正在调用服务以链接到控制器,该控制器正在从数据库中获取一些数据。到目前为止,这仍然可以正常工作...第二个组件( create.component.ts )正在数据库中创建/编辑实体。使用“保存”按钮保存更改还将重定向到 home.component ,它现在应该获取所有更新并将其可视化。使用Chrome可以完美地运行,但是使用IE时, home.compenent.html 不会从数据库获取更新的更改,而是显示旧的更改。奇怪的是:打开调试器(F12)将解决该问题并更新所有更改(例如chrome)。

放置断点告诉我,它总是在 home.component.ts 中调用ngOnInit(),这正像预期的那样直接指向service.ts并调用getUser()方法。该方法应直接指向api控制器中的方法,但不是。只有刷新页面后,它才能获取所有更新(或者说,如果调试器处于打开状态)。我想到了IE中的缓存问题,但是由于它根本没有链接到后端,因此我不确定。谢谢

User.service.ts:

@Injectable()
export class UserService {


private apiUrl = 'api/User';
myAppUrl: string = "";

private options = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };

constructor(private httpClient: HttpClient) {
}


getUser(): Observable<User> {

    // Breakpoints are getting to this point but the following code is not directing to the method in the backed. 
    return this.httpClient.get<User>(this.apiUrl + '/Index', this.options)
        .catch (this.errorHandler);

}

UserController.cs

[Produces("application/json")]
public class UserController : Controller
{
    UserDataAccessLayer objuser = new UserDataAccessLayer();

    [HttpGet]
    [Route("api/User/Index")]
    public IEnumerable<User> Get()
    {
        return objuser.GetAllUsers();
    }
.
.
.

1 个答案:

答案 0 :(得分:1)

好吧,真是太好了! instruction解决了我的问题。