Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ใน javascript จะหา path ที่แท้จริงอย่างไรครับถ้าไม่ใส่ แบบ fullpath



 

ใน javascript จะหา path ที่แท้จริงอย่างไรครับถ้าไม่ใส่ แบบ fullpath

 



Topic : 051170



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์




ถ้าใน asp.net ผมจะใส่ ~/login.aspx แบบนี้ครับ

ถ้าเป็น javascript จะให้มัน redirect ไป ผมใส่ login.aspx

แบบนี้ ถ้าอยู่ใน directory เดียวกันกับ masterpage ก็ไม่มีปัญหา

แต่ถ้าตอนนั้นอยู่ใน อีก directory ที่ลึกลงไป คือเป็น root/emp/ แบบนี้

มันจะกลายเป็น redirect ไปที่ root/emp/login.aspx แบบนี้น่ะครับ



Tag : .NET, JavaScript, Web (ASP.NET), VS 2008 (.NET 3.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-04 13:04:56 By : 13crowns View : 1499 Reply : 6
 

 

No. 1



โพสกระทู้ ( 158 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
./
../







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-04 13:14:52 By : Miraku
 


 

No. 2



โพสกระทู้ ( 156 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าเราทำงานใน VS มันจะมีตัวช่วยหา path อยู่แล้วว่าไฟล์ที่เราต้องการอ้างอิงอยู่ที่ไหน โดยเฉพาะ VS2010 ซึ่งปกติการอ้างอิง root จะใช้ ~ ตัวนี้ครับ แล้วตามด้วยโฟลเดอร์ที่เราเก็บไฟล์ :)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-04 13:29:23 By : nottp106
 

 

No. 3



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าใช้ ../ แบบนี้เราจะไม่มีทางรู้ได้อะครับว่าตอนนี้อยู๋ page ไหนเพราะ Javascript มันอยู่ใน masterpage น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-04 13:54:06 By : 13crowns
 


 

No. 4



โพสกระทู้ ( 156 )
บทความ ( 0 )



สถานะออฟไลน์


ผมทำใน masterpage (VS2010) เวลาพิมพ์จะมี intellisense บอกตามภาพนะครับ ลองดูครับ

intellisense
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-04 14:03:50 By : nottp106
 


 

No. 5



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


ถ้าแอด javascript หรือ jQuery ใน Master page ตัว content page ที่อยู่แยก path ต่างหาก
จะไม่ยอมรัน javascript หรือ jQuery ให้ค่ะ เจอปัญหานี้มาแล้วเลยเอามาเขียนไว้ทั้ง vb.net ทั้ง c#
แต่เป็นแบบ extension method นะคะ ถ้าคุณใช้ vss 2008 ขึ้นมาก็โอเค
การ add javascript จะ add ที่ content page ค่ะส่วน CSS นั้นจะ add ที่ Masterpage !!
ทั้งนี้เพราะ javascript หรือ jQuery จะ compile แยกต่างหาก ส่วน CSS นั้น ASP.NET จะบริหารจัดการให้

module นี้ตัดมาเฉพาะส่วนที่ต้องการใช้นะคะ เพราะยาวมากทำหน้าที่หลายอย่าง และที่ขียนแบบ extenstion method
เพราะการเขียนแบบนี้เป็นการบังคับให้คิดแบบ OOP ค่ะ

Code (VB.NET)
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Imports System.Text
Imports System.Collections
Imports System.Runtime.CompilerServices

Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

'Imports General
'Imports General.Convertor

Namespace System.Web.UI.Extensions
    Public Module PageExtension

#Region "Utility Section"

        ''' <summary>
        ''' Trace path from page for any javascript reference location
        ''' </summary>
        ''' <param name="Am"></param>
        ''' <param name="argPathFileLocation"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        <Extension()> _
        Public Function TraceIncludeBasePath(ByVal Am As Page, ByVal argPathFileLocation As String) As String
            Dim strRet As String = argPathFileLocation
            Dim CurrentURLStr As String = Am.Server.MapPath(Am.Request.ServerVariables("URL"))
            Dim ScriptURL As String = Am.Server.MapPath(argPathFileLocation)
            Dim tempStr As String = String.Empty
            Dim founded As Boolean = False

            For i As Integer = 1 To ScriptURL.Length - 1
                tempStr = ScriptURL.Substring(0, i)
                If (Not tempStr.Equals(CurrentURLStr.Substring(0, i))) Then
                    founded = True
                    CurrentURLStr = CurrentURLStr.Substring(i - 1)
                    ScriptURL = ScriptURL.Substring(i - 1)
                    Exit For
                End If
            Next

            If (Not founded) Then Return String.Empty
            'After pass mappath path separator will be "\"
            Dim ixStr As String() = CurrentURLStr.Split(New Char() {"\"c}, StringSplitOptions.RemoveEmptyEntries)
            Dim totalTrace As Integer = ixStr.Length - 1

            'Replace to valid path separator
            strRet = ScriptURL.Replace("\"c, "/"c)
            For i As Integer = 0 To totalTrace - 1
                strRet = "../" + strRet
            Next

            Return strRet.ToUpper()
        End Function

        ''' <summary>
        ''' Adding any script file to page suggest to use when uses sub directory for any page
        ''' </summary>
        ''' <param name="Am"></param>
        ''' <param name="argScriptFileLocation"></param>
        ''' <remarks></remarks>
        <Extension()> _
        Public Sub HeaderAddNewScriptFile(ByVal Am As Page, ByVal argScriptFileLocation As String)
            Dim newScriptParser As New HtmlGenericControl("script")
            newScriptParser.Attributes.Add("src", Am.TraceIncludeBasePath(argScriptFileLocation))
            newScriptParser.Attributes.Add("type", "text/javascript")

            Am.Header.Controls.Add(New LiteralControl(vbTab))
            Am.Header.Controls.Add(newScriptParser)
            Am.Header.Controls.Add(New LiteralControl(Environment.NewLine))

        End Sub
    End Module
End Namespace


การใช้งาน
Code (VB.NET)
....
Imports System.Web.UI.Extensions

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        
        Me.HeaderAddNewScriptFile("~/Scripts/jquery-1.4.2.min.js")
        Me.HeaderAddNewScriptFile("~/Scripts/jquery-ui-1.8.1.custom.min.js")
        
        If (Not Page.IsPostBack) Then
  
        End If

    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-04 14:22:23 By : blurEyes
 


 

No. 6



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ คุณ stupidgirl ผมขอก๊อบไปใช้นะครับ

จริงๆแล้วผมเอา สคริปนี้ไว้ใน usercontrol ที่แปะอยู่บน masterpage

Code (VB.NET)
Dim sb As New StringBuilder
sb.Append("<script type='text/javascript' language='javascript'>")
sb.Append("alert('usernameหรือpasswordไม่ถูกต้อง');")
sb.Append("document.location ='login.aspx';")
sb.Append("</script>")
Page.ClientScript.RegisterStartupScript(Page.GetType, "RedirectScript", sb.ToString)


เลยถามหาวิธีอ้าง Path ดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-04 14:49:38 By : 13crowns
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ใน javascript จะหา path ที่แท้จริงอย่างไรครับถ้าไม่ใส่ แบบ fullpath
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่