Question: ```
<div class="input-group">
    <input type="text" id="srcSchtext" class="form-control" 
        runat="server" placeholder="Search here..." />
    <span class="input-group-btn">
        <asp:Button runat="server" ID="btnSearchEmployee" 
            Text="Search" class="btn btn-info"  />
    </span>
</div>

```

...

```
function OnEnter_press(e) {
    e = e || window.event;
    key = e.keyCode || e.which;
    if (key == 13) {
        $('[id$=btnSearchEmployee]').click();
        return true;
    }
}

```

whenever I enter text in the textbox and click enter the page is just post backing, every time I have to take my mouse cursor to the button and click it for results. On enter press inside the text box I've to get the search results rather than just postbacking. I tried calling OnEnter\_press on keydown of text box, which is still making just the postback.

Answer: 
Nope inside an assembly you may have define more than one namespaces. An assembly is the smallest unit of deployment in .NET. It is a collection of your IL code and metadata about you code. It contains a file called Manifest in which all the types that are used in your assembly or referred to are declared. Also there are some other files.

As it is stated more formally in [MSDN](http://msdn.microsoft.com/en-us/library/hk5f40ct(v=vs.90).aspx):

> 
> Assemblies are the building blocks of .NET Framework applications;
>  they form the fundamental unit of deployment, version control, reuse,
>  activation scoping, and security permissions. An assembly is a
>  collection of types and resources that are built to work together and
>  form a logical unit of functionality. An assembly provides the common
>  language runtime with the information it needs to be aware of type
>  implementations. To the runtime, a type does not exist outside the
>  context of an assembly.
> 
> 
> 

On the other hand for a `namespace` we have that

> 
> The namespace keyword is used to declare a scope that contains a set
>  of related objects. You can use a namespace to organize code elements
>  and to create globally unique types.
> 
> 
> 

as it is stated in [MSDN](http://msdn.microsoft.com/en-us/library/z2kcy19k.aspx)

From the above it is clear that you can declare as many namespaces you want inside an assembly. 

A nice and free tool that you can use to see what is in an assembly is the [IL Disassembler](http://msdn.microsoft.com/en-us/library/f7dy01k1(v=vs.110).aspx).
Internal classes are not *necessarily* visible to all classes within the same namespace, since a namespace can span multiple assemblies. The assembly is the compiled file (DLL or EXE). 

*Usually* it means within the same project, but there are methods to combine the output of multiple projects into one assembly (via ILMERGE).