Где и когда вам нужны эти данные?
Если вы хотите, чтобы они отображались в вашем представлении, просто передайте данные в представление
Действие / Контроллер:
public ActionResult MyAction()
{
ViewData["MyData"] = "this is a sample data of type string";
return View();
}
А потом, где-то в вашем представлении:
<script>
var data = '<%= ViewData["MyData"] %>';
$(document).ready(){
alert(data);
}
</script>
<h1><%: ViewData["MyData"] %></h1>
Конечно, если вы работаете с List<string>
или `string [] ', вам нужно будет отформатировать его в соответствующий JavaScript для jQueryчтобы понять это.
<script>
var dataArray = [
<% foreach(string s in (string[])ViewData["MyDataArray"]){ %>
<%= s %>,
<% } %>
];
</script>
Было бы хорошо, если бы вы генерировали правильный JavaScript в действии вместо представления, чтобы избежать уродливой разметки в вашем представлении:
public ActionResult MyAction()
{
string[] myArray = new string[]{ "hello", "wolrd" };
ViewData["MyData"] = myArray;
ViewData["JavaScriptArray"] = "[" + myArray.Aggregate((current,next) => string.Format("'{0}','{1}',", current, next).TrimEnd(new char[] { ','})) + "]";
// or you can use your favorite JavaScript serialize
return View();
}
Теперь вы можетесделайте следующее на ваш взгляд:
<script>
var dataArray = <%= ViewData["MyJavaScriptArray"] %>;
alert(dataArray[0]); // alerts 'hello'
</script>