Question: I have this website created in asp.net. On my test server, it works properly in every browser, but on the client's server it doesn't work in Chrome.

Apart from the `web.config` file, the files are an exact copy of each other, which makes me think that it is a configuration problem (either a problem with web.config or with the IIS/site configuration)

Right now, it should look like this when hovering over a menu item:

[![enter image description here](https://i.stack.imgur.com/4hF8A.png)](https://i.stack.imgur.com/4hF8A.png)

but when hovering the item, the submenu doesn't appear, and instead yo can click on the item to see this:

[![enter image description here](https://i.stack.imgur.com/ZwrNY.png)](https://i.stack.imgur.com/ZwrNY.png)

I kinda see all submenu items, but clearly not properly (I can barely read them).

Answer: 
The syntax of a `try` block (which is a [statement](http://en.cppreference.com/w/cpp/language/statements) in C++) is

```
try compound-statement handler-sequence

```

And the syntax of `if` is:

```
attr(optional) if ( condition ) statement_true      
attr(optional) if ( condition ) statement_true else statement_false     

```

where:

> 
> `statement-true` - any statement (often a compound statement), which
>  is executed if condition evaluates to true  
>  `statement-false` - any
>  statement (often a compound statement), which is executed if condition
>  evaluates to false
> 
> 
> 

So yes, your code is legal code in `C++`.

`statement_true` in your case is a `try` block.

In legality, it is similar to:

```
if (condition) for(...) {
    ...
}

```

**But** your code is not very readable and can be the victim of some C++ pitfalls when an `else` is added. So, it is advisable to add explicit `{...}` after `if` in your case.
It's well-formed. *try-block*s are *statement*s as per [[stmt.stmt]/1](http://eel.is/c++draft/stmt.stmt#1), and *statement*s are following `if (…)` as per [[stmt.select]/1](http://eel.is/c++draft/stmt.select#1).