2011-09-08 5 views

답변

1

이 경우에 취할 접근법은 자리를 유지하여 실버 라이트 개체를 넣을 위치 <div />을 유지하는 것입니다. 페이지에 Silverlight.j 파일을 포함하고 필요한 경우 createObject() 메서드를 사용하여 모든 속성 및 initParams와 함께 플러그인을 만듭니다.

+0

이 작업을 수행했으나 제대로 작동하지 않습니다. createObject를 호출하는 자바 스크립트 함수를 만들었습니다. 그런 다음 함수를 LinkButton의 OnClientClick에 넣습니다. 이 기능은 오류없이 진행되지만 실버 라이트가로드되지 않습니다. – Nicolai

+0

목표 div의 오정렬을 멈출 때 도움이됩니다. :) – Nicolai

2

네, 할 수 있습니다. 다음은 JQuery가 아닌 서버 컨트롤로 코드를 제공합니다.

실버 라이트 앱이 호스팅되는 aspx 페이지의 object 태그에 initParam 속성을 추가 할 수 있습니다. 당신이 당신의 응용 프로그램 시작 코드에서 initParams의 값에 액세스 할 수 있습니다 그리고

<script runat="server"> 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    initParams.Attributes.Add("value", TextBox1.Text); 
} 
</script> 

아래처럼 PARAM 값을 설정하는 이벤트를 가질 수 같은 aspx 페이지에서

<div id="silverlightControlHost"> 
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
     <param name="source" value="ClientBin/SilverlightApplication3.xap"/> 
     <param name="onError" value="onSilverlightError" /> 
     **<param name="initparams" id="initParams" runat="server" value="key=value"/>** 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="4.0.50826.0" 

실버 라이트 응용 프로그램은 아래와 같습니다.

private void Application_Startup(object sender, StartupEventArgs e) 
    { 
     if (e.InitParams.ContainsKey("param")) 
      MessageBox.Show(e.InitParams["param"]); 

initParams의 값을 다음 형식으로 제공하고 코드의 코드 존재 여부도 확인하십시오.

key1=value1, key2=value2 

또는, 당신은 Silverlight.createObject을 사용할 수 있으며뿐만 아니라 initParameters을 통과 링크 http://msdn.microsoft.com/en-us/library/cc265155(v=vs.95).aspx

희망이 도움을 참조하십시오.

관련 문제