2012-09-22 3 views
0

.web 부분의 Microsoft Visual Web Developer 2010 Express에서 ASP.NET 프로젝트를 만들고 Silverlight 프로젝트가 포함되었습니다. 나는 음악 블로그와 같은 것을 만들었고 Silverlight에 "경로"값을 전달하려고합니다. 사용자가 파일을 업로드하면 트랙이 Silverlight 앱에서 재생됩니다.ASP.NET에서 Silverlight 응용 프로그램으로 값 전달

예를 들어 Posts라는 테이블과 Track이라는 Post에서 파생 된 테이블을 만들었습니다. 여기에 파일 경로가 저장됩니다. 나는 또한 내 Index.aspx 파일에 포함되어 있습니다 :

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Create(Posts model, HttpPostedFileBase file) 
    { 

     if (ModelState.IsValid) 
     { 
      if (file != null) 
      { 
       if (file.ContentLength > 0) 
       { 
        var fileName = Path.GetFileName(file.FileName); 
        var path = Path.Combine(Server.MapPath("~/Music"), fileName); 
        file.SaveAs(path); 
        Track track = new Track(); 
        track.Path = path; 
        model.Track.Add(track); 
        DateTime today = DateTime.Today; 
        Posts post = new Posts(); 
        /*post.Body = model.Body; 
        post.Created = model.Created; 
        post.Modified = model.Modified; 
        post.Title = model.Title;*/ 
        model.Created.ToLocalTime(); 
        postRepository.Create(model); 
        return RedirectToAction("Index"); 
       } 
       else 
       { 
        ModelState.AddModelError("", "The given Path is invalid"); 
       } 
      } 
      else 
      { 
       ModelState.AddModelError("", "The given Path is invalid"); 
      } 

     } 
     return View(model); 
    } 

이 어떻게 실버 라이트 플레이어에 지금의 경로를 통과 할 수있다, 그래서 나는 재생할 수 있습니다 : 포스트를 만들 때

<form id="form1" runat="server" style="height:50%"> 
<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="770" height="530"> 
     <param name="source" value="ClientBin/MusicBlog.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="3.0.40818.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"> 
      <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Holen Sie sich Microsoft Silverlight" style="border-style:none"/> 
     </a> 
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> 
</form> 

I 전화 ASP.NET 페이지에 포함 된 Silverlight 앱에서

+1

바탕 화면에 Microsoft에서 Silverlight를 버린 것을 알고 계십니까? – Rob

답변

0

NavigationContext.QueryString["trkPath"] 
0

실버 라이트가에 트랙에 액세스하려면

public ActionResult Index(string trkPath) { } 

지수 과부하를 만들고 경로 값을 추가

return(RedirectToAction("Index", new { trkPath = track.Path })); 

리디렉션 동안 실버의 PARAMS에 액세스 로컬 파일 시스템, 사용자가 선택을 시작해야합니다, 당신은 액세스 할 수 없습니다 그 (것)들을위한 파일 시스템. " Silverlight에서 브라우저 외부에서 실행되는 응용 프로그램은 높은 신뢰로 실행될 수 있습니다 (실제로는 Silverlight 5 in browser에서 수행 할 수 있지만 그 반대의 경우 임).

Silverlight 앱에서 트랙에 대한 프롬프트를 표시하고 업로드하지 않는 이유는 무엇입니까?

+0

그러면 복잡해지기 때문입니다. "Title", "Body", "File"이 업로드되는 Create.aspx가 있습니다. Details.aspx에서 Silverlight 앱이 연결되어 있으며 경로를 가져 와서 각 트랙을 재생합니다. 이러한 값은 데이터베이스에 저장됩니다. 거기에서 데이터를 검색 할 수 있습니까? 실버 라이트가 게시물의 이드를 가져 와서 할당 된 트랙을 재생합니다. –

관련 문제