Javascript 陷入错误:未定义模型
我在ASP MVC中有以下代码。我正在尝试获取模型作为参数,以便在js中获得播放音乐的正确文件夹Javascript 陷入错误:未定义模型,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我在ASP MVC中有以下代码。我正在尝试获取模型作为参数,以便在js中获得播放音乐的正确文件夹 @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.Name) </td> <td> @Html.DisplayFor(modelItem =&
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Genre)
</td>
<td>
@Html.DisplayFor(modelItem => item.ReleaseDate)
</td>
<td>
var model = @Html.Raw(Json.Encode(item.Mp3file));
<button onclick="getLocation(model)">Click me</button>
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
我做错了什么 您必须使用“@”引用服务器端代码:
var model=@Html.Raw(Json.Encode(item.Mp3file));
点击我
您是否在查看页面顶部声明了@model?我可以用哪种方式调用它?如果它是一个简单的类型,这肯定会起作用,但它是一个复杂的模型。出于好奇(我现在无法测试),这种语法会自动将模型序列化为JSON吗?因为如果没有,这将是不够的,必须使用合适的序列化方法来代替;这在我的回答中,在OP.So中,@model是一个JSON格式的对象。将其包装在“”中将允许将其发送到JS函数。我完全错过了,在行动中。对不起。在漫长的一天之后,我在晚上登录,这真是太好了。
function getLocation(model) {
var tekst = model;
console.log(tekst);}
var model = @Html.Raw(Json.Encode(item.Mp3file));
<button onclick="getLocation('@model')">Click me</button>