控制器返回数组的内容,但在我看来,我只得到类型?MVC
Controller returns the contents of the array, but in my view i only get the type? MVC
我有一个返回viewModel的控制器。
该viewModel有一个名为Users的属性,它是一个数组,其中包含当前在系统中拥有一个帐户的所有用户名。这是一个jquery标签插件。
Users属性正确地将数组发送给视图
但是当我在视图中使用@Model.Users
时,我只是得到类型ie;System.String[]
我猜这是一个非常简单的问题。
控制器public virtual ActionResult Create(int id)
{
var viewModel = new AttendeeViewModel();
var data = viewModel.GetMembershipUserList() ;
viewModel.MeetingID = id;
viewModel.Users = data.ToArray();
return View(viewModel);
}
视图模型
public class AttendeeViewModel
{
public int AttendeeId { get; set; }
public string Name { get; set; }
public int MeetingID { get; set; }
public string[] Users { get; set; }
public List<string> GetMembershipUserList()
{
List<string> userNames = new List<string>();
foreach (MembershipUser user in Membership.GetAllUsers())
{
userNames.Add(user.UserName);
}
return userNames;
}
}
视图使用
<script type="text/javascript">
var tags = @Model.Users
$(document).ready(function () { $("#mytags").tagit({ availableTags: tags }); });
</script>
@Model.Users
相当于将Model.Users.ToString()
倾倒到视图中。对于您的特殊用途,您需要将其呈现为JavaScript数组。c#字符串数组不知道如何做到这一点。例如:
var tags = [ @( string.Join("," Model.Users.Select(s => "'" + s + "'").ToArray()) ) ];
虽然它可能更好地做到这一点,从ViewModel,只是有Model.UsersAsJavaScriptArray
或类似的东西。如果我经常这样做,我可能会为HtmlHelper创建一个扩展方法并做@Html.AsJavaScriptArray(Model.Users)
就像Matt说的,当你试图使用<%= %>或@输出一些东西时,它就会。tostring()它。
你可以试试…
ViewModel.UsersJson = new JavascriptSerializer().Serialize(data.ToArray());
甚至只序列化你需要的东西…
ViewModel.UsersJson = new JavascriptSerializer().Serialize(data.ToArray().Select(u => new { Username = u.Username, FirstName = u.FirstName });
…
var tags = @Model.UsersJson
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 将Javascript数组发送到控制器ASP.NET MVC
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何将具有文本类型值的var放入jQuery函数中
- javascript解释器如何理解变量的数据类型
- 可变大小的JavaScript字符串如何成为基元类型
- 在代码点火器中将代码转换为 MVC 类型
- 类型错误: $(..).Live 不是 MVC 中的函数
- 在ASP.NET MVC中,应该为DataTable返回哪种类型的数据
- 如何在MVC中为字符串64类型的图像创建幻灯片
- 如何“播放”什么是用户类型- MVC
- 在mvc中使用Action Result作为返回类型时,return文件不存在
- 控制器返回数组的内容,但在我看来,我只得到类型?MVC