2010-09-07 25 views
5
function detailed_link(cell_rowid) { 
     var $tabs = $('#infrTab').tabs(); 
     $tabs.tabs('select', 1); // switch to third tab~ 
     objRowData = $('#' + pageGridId).getRowData(cell_rowid); 
     //document.getElementById("Name").value = objRowData.amount; 

     loadPage('Infringement/TaskDetail', 'taskDetails'); /* Path */ 
    } 

Tengo escribir una función de javascript loadPage(), que necesita una ruta a alguna página como parámetro. Necesito dar esta ruta desde la raíz de la aplicación. No quiero un camino relativo. Por favor, hágame saber cómo puedo hacerlo.Tomar ruta desde la raíz de la aplicación en javascript

+2

En lugar de la ruta absoluta ... recomendaré utilizar la ruta de contexto, por lo tanto, si su página está en 'http: // www.so.com/pages/one.aspx' usarás '/ pages/one.aspx' –

+0

En este caso si el javascript está presente en algunas carpetas internas, tendría que cambiar la ruta. –

+0

¿Tiene acceso a 'Url.RouteUrl()'? (obtendrá esto en una aplicación asp.net .NET 4.0) –

Respuesta

6

tengo este pedazo de Javascript en mi Site.Master, justo debajo de la importación jQuery y por encima de cualquier referencia a mis propios guiones.

<script type="text/javascript"> 
     //Function that provides a relative URL for cases of virtual directories. 
     jQuery.url = function (path) { 
      return '<%: Url.Action("Index","Home") %>' + path; 
     }; 
</script> 

Esto supone que su dirección '/' es manejado por el método del índice en su controlador principal (la norma).

A continuación, puede acceder a él a través de:

$.url('Infringement/TaskDetail') 
+0

Tengo que escribir jQuery.url = function (path) { return '<%: Url.Action ("Index", "Home")%>' + path ; }; en mi archivo javascript. O es interno a jquery. –

+0

Personalmente lo agrego al Site.Master antes de MI archivo javascript, ya que puedo garantizar que se ejecutará antes de que se utilice. –

+0

Está agregando un nuevo método al objeto jQuery, muy parecido a un método de extensión en .NET –

1

suponga que tiene una página con la siguiente dirección: http://sub.domain.com/page.htm. utilizar el siguiente código en la página de achive esos resultados:

  • window.location.host: obtendrá sub.domain.com:8080 o sub.domain.com:80
  • window.location.hostname: obtendrá sub.domain.com
  • window.location.protocol: obtendrá http:
  • window.location.port : obtendrá 8080 o 80
  • window.location.origin: obtendrá http://sub.domain.com
1

Recomiendo utilizar la ruta relativa, porque nunca se sabe dónde será la raíz de la aplicación. Si su aplicación se instalará con otras aplicaciones en IIS, su raíz podría ser, por ejemplo, http://www.domain.com/iis/youapp/pages/one.aspx

Cuestiones relacionadas