我在从 View 传输字符串数据时遇到问题,它只需要字符串中的第一个值。例如,我的房间列表包含
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 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="385c594c59154e59544d5d0578514c5d55167659555d" rel="noreferrer noopener nofollow">[email protected]</a>><a>@item.Name</a></li>
}
</ul>
</div>
调试时,单击操作后,它会加入到实现加入房间的方法。
public void JoinGroup(string groupName) {..}
在 groupName 中它只显示“Some”。
最佳答案
在 data-value
属性周围添加引号:
<li data-value="@item.Name"><a>@item.Name</a></li>
长答案:这里发生的情况是,如果没有引号,它会被粗略地呈现如下:
<li data-value=Some action><a>@item.Name</a></li>
Javascript 将其解释为 2 个属性:
数据值
=一些
操作
= 无
通过添加引号,javascript 将具有更严格的结构。
关于javascript - 如何传输完整字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31002486/