Вы можете сделать свой тип сценариев следующим образом:
[ScriptableType]
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
HtmlPage.RegisterScriptableObject("MainPage", this);
}
[ScriptableMember]
public string Text
{
get { return TextBox1.Text; }
set { TextBox1.Text = value; }
}
}
Теперь у вас есть доступ к свойству MainPage.Text
.
<script type="text/javascript">
Silverlight.createObjectEx({
source: '/clientbin/journal.web.administration.xap',
parentElement: document.getElementById('SilverlightPlaceHolder'),
id: 'SilverlightPlugin',
properties: {
version: '4.0.60129.0'
},
events: {
onLoad: function () {
var host = document.getElementById('SilverlightPlugin');
if (host != null)
host.content.MainPage.set_Text('@ViewBag.Text');
}
}
});
</script>
И, наконец, верните строку из действия следующим образом:
public ActionResult Index()
{
ViewBag.Text = "Some Text";
return View("Index");
}
Обновление: Если вы используете ASP.NET MVC 2, вам нужно изменить ViewBag.Text
на ViewData ["Text"] и в разметке изменить @ViewBag.Text
до <%: ViewData["Text"] %>
.