如何传输完整的字符串

时间:2015-06-23 12:12:13

标签: javascript asp.net-mvc razor

我从视图传输字符串数据时出现问题,它只从字符串中获取第一个值。例如,我列出了包含

的房间
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”。

1 个答案:

答案 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将具有更严格的结构。