2011-04-08 3 views
1

나는 ASP 하이퍼 링크를 가지고 있습니다. 그리고 자바 스크립트에서이 하이퍼 링크의 innerHTML과 outerText를 설정하고 싶습니다. 내가 어떻게 이걸 얻을 수 있니?
나는 다음과 같은 코드가 있습니다 :asp 하이퍼 링크 값 설정 JS

var path='c:\folder\file.gif' 
var HyperlinkObj = GetElementById('hl'); 
HyperlinkObj.innerHTML ='<a href='+path+'></a>'; //causes: htmlfile: Unknown runtime error 
HyperlinkObj.outerText = 'file.gif'; //how can i get the file name from the path? 
+0

내 편집 된 답변을 아래에서 확인하십시오. 감사. – rsbarro

답변

5

편집 :

다음 예제에서는 자바 스크립트에서 ASP.NET HyperLink 컨트롤의 속성을 설정하는 방법을 보여줍니다.

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <script type="text/javascript"> 
     function setHyperlink(path) { 
      var link = document.getElementById("<%= myLink.ClientID %>"); 
      link.href = path; 
      link.innerHTML = getFilenameFromPath(path); 
     } 

     function getFilenameFromPath(path) { 
      return path.replace(/^.*\\/, ''); 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      Link: <asp:HyperLink id="myLink" runat="server"></asp:HyperLink><br /> 
      <input type="button" value="Set Hyperlink" onclick="setHyperlink('c:\\folder\\file.gif')" /> 
     </div> 
    </form> 
</body> 
</html> 

getFilenameFromPath 기능은 this question에 대한 답에서 비롯됩니다.

ORIGINAL 답변 : 코드 숨김에서 설정하려면

하이퍼 링크 제어, 당신은 당신의 하이퍼 링크 서버 컨트롤 만들고 싶어. 당신은 다음과 같은 추가 할 첫 페이지에, MyPage.aspx에서 작업하는 가정 : 다음

<asp:HyperLink id="myLink" runat="server"></asp:HyperLink> 

, 코드 숨김에서,를 Page_Load에서 말 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostBack) 
     SetupLink("myfilename.txt"); 
} 

private void SetupLink(string filename) 
{ 
    myLink.Text = filename; 
    //Assumes the file is in the root of your web site 
    myLink.NavigateUrl = string.Concat("~/", filename); 
} 

당신이에 runat="Server" 태그를 추가 할 때 하이퍼 링크를 사용하는 경우 디자이너는 MyPage.aspx.designer.cs 파일에이 컨트롤에 대한 참조를 추가해야합니다. 그것은 다음과 같이 보일 것이다 : 당신은 당신이 자바 스크립트에서 하이퍼 링크 컨트롤에 액세스해야하는 경우, 설정하는 것이이 후, 당신은 내 링크 컨트롤의 ClientID 속성을 사용할 수 있습니다

protected global::System.Web.UI.WebControls.HyperLink myLink; 

.

<script type="text/javascript"> 
    var link = document.getElementById("<%= myLink.ClientID %>"); 
    alert(link); 
</script> 

희망이 있습니다.