我从视图传输字符串数据时出现问题,它只从字符串中获取第一个值。例如,我列出了包含
的房间Some action
Action in
New room
当我点击第一个房间(某些动作)时,它只需要值“Some”,然后我显示我已加入“Some”房间的警报。
JS:
$('#rooms ul li').not('.nav-header').click(function () {
$('#rooms ul li').not('.nav-header').removeClass('active');
$(this).addClass('active');
var roomKey = $(this).data('value');
hub.server.joinGroup(roomKey);
});
观点:
<div id="rooms" class="well well-small">
<ul class="nav nav-list">
<li class="nav-header">Rooms</li>
@foreach (var item in Model)
{
<li data-value=@item.Name><a>@item.Name</a></li>
}
</ul>
</div>
在调试时,单击操作后,它会加入到实现连接空间的方法。
public void JoinGroup(string groupName) {..}
在groupName中,它只显示“Some”。
答案 0 :(得分:2)
在data-value
属性周围添加引号:
<li data-value="@item.Name"><a>@item.Name</a></li>
长答案:这里发生的事情是,如果没有引用,这将被松散地呈现如下:
<li data-value=Some action><a>@item.Name</a></li>
Javascript将此解释为2个属性:
data-value
= Some
action
= 没有 通过添加引文,javascript将具有更严格的结构。