2014-02-24 4 views
0

저는 ASP.NET Razor v2 웹 사이트에서 작업하고 있습니다. 지금 당장 사용자에게 임의의 URL로 사용자를 보내도록 도와주는 링크가 있습니다. 이런 식으로.페이지가로드되거나 클릭 된 후 무작위로 redirrect됩니다.

@{ 
    List<string> UrlList = new List<string>(); 
UrlList.Add("http://example1.com/"); 
UrlList.Add("http://example2.com/"); 
UrlList.Add("http://example3.com/"); 
    Random r = new Random(); 
    int index = r.Next(UrlList.Count); 
    string randomUrl = UrlList[index]; 
} 

<a href="@randomUrl">A Random Link</a> 

"임의 링크"를 가리키면 목록에있는 링크 중 하나가 표시됩니다.

페이지가로드 된 후 사용자를 URL로 다시 작성하는 방법이 있습니까?

그래서 간단히 말하면; "임의의 링크"-> 다른 페이지로드 -> 목록의 링크에 다시 쓰기를 클릭하십시오. 대상 URL을 다시로드해야처럼 사용자가 사용자가 링크를 클릭 할 때

자바 스크립트에서 이제
<a id="aRand" target="_blank" href="http://www.google.com">A Random Link</a> 

, 난수를 얻고에서 링크를 읽어야 this.So를 클릭 할 때

+0

링크를 클릭하지 않아도 사용자가 페이지로 리디렉션되기를 원하십니까? – Shyju

+0

아니요 링크를 클릭 한 후 사용자가 리디렉션되도록하고 싶습니다. –

+0

앵커 태그이므로 리디렉션되어야합니다. 어떤 행동을하고 있습니까? – Shyju

답변

0

이 보이는 js 배열을 수정하고 클릭 된 앵커 태그 href 속성을 업데이트합니다.

$(function(){ 
    var itemArr=["http://a.com","http://b.com","http://c.com"]; 

    $("#aRand").click(function(e){ 

    var randomNum=getRandom(0,itemArr.length); 
    var targetUrl=itemArr[randomNum]; 
    $(this).attr("href",targetUrl); 

    }); 

}); 

function getRandom(min, max) { 
    return Math.floor(Math.random() * (max - min) + min); 
} 

배열을 하드 코딩하는 대신 아약스 요청을 사용하여 서버 조치 메소드에서 가져올 수 있습니다.