كيف تجعل التحكم ASP.NET التحدث إلى التطبيق سيلفرلايت على نفس الصفحة في C #

StackOverflow https://stackoverflow.com/questions/264075

سؤال

وعلى سبيل المثال:

أولا، ويقول لدي التطبيق سيلفرلايت مع بدون إطار = صحيح حتى أستطيع أن وضع الضوابط ASP.NET على أعلى من ذلك. ثم أضع زر ASP.NET على الصفحة. كيف يمكن أن يكون القول نص عنصر تحكم في تغيير التطبيق سيلفرلايت عندما يضغط المستخدم على زر ASP.NET؟ كيف لي أن ترسل سيلفرلايت app ورسالة التحديث من C # التعليمات البرمجية التي يمسك انقر على زر ASP.NET؟

وشكرا، جيف

هل كانت مفيدة؟

المحلول

ومن ما أستطيع أن أقول، استنادا إلى سؤالك، تشغيل تطبيق Silverlight في متصفح الإنترنت لديك ذلك جزءا لا يتجزأ في صفحة asp.net؟ رمز للزر asp.net أن تقوم بسحب على الصفحة يعيش على الخادم ويحصل على إرسالها إلى متصفح الويب كما أتش تي أم أل. عند النقر فوق زر على الصفحة هو تقديم بيانات النموذج إلى الخادم الذي يفسر ASP.NET ويدعو انقر على زر التعليمات البرمجية. منذ أن التعليمات البرمجية المنفذة على الخادم فإنه لا يمكن الحصول على التطبيق سيلفرلايت. إذا كنت حقا بحاجة إلى التفاعل مع تطبيق Silverlight مباشرة على العميل يمكنك استخدام جافا سكريبت في المتصفح.

وهنا هو مثال بسيط:  <وأ href = "http://blogs.vertigo.com/personal/ralph/Blog/archive/2008/05/15/call-silverlight-from-javascript-call-javascript-from-silverlight.aspx" يختلط = " noreferrer نوفولو "> http://blogs.vertigo.com/personal/ralph/Blog/archive/2008/05/15/call-silverlight-from-javascript-call-javascript-from-silverlight.aspx

نصائح أخرى

ومن الذاكرة، تحتاج إلى فضح عضوا النصية من تطبيق Silverlight الخاصة بك، على سبيل المثال:

[ScriptableMember()]
public void ChangeText(string newText)
{
    // Update your text control here
}

ووتسجيله للبرمجة من جافا سكريبت في المنشئ:

public MySilverlight()
{
    InitializeComponent();
    HtmlPage.RegisterScriptableObject("MyObject", this);
}

ويمكنك بعد ذلك بالتمسك به من جافا سكريبت كما؛

function ChangeText()
{
    var yourObject = getElementById("yourObjectID");
    yourObject.Content.MyObject.ChangeText("New Text");
}

وبعد ذلك سلك للتو للزر العميل بنقرة واحدة إلى استدعاء الأسلوب ChangeText جافا سكريبت.

وآمل أن يساعد هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top