javascript - 如何传输完整字符串

标签 javascript asp.net-mvc razor

我在从 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/

相关文章:

razor - Visual Studio 2017中的ASP.NET Core标记帮助器Intellisense

razor - 如何将 <select> 值绑定(bind)到 ASP.NET Core MVC 中枚举中每个项目的名称?

javascript - 如何根据值的金额更改值的颜色?

javascript - 有什么方法可以使 javascript 中的嵌套回调代码更具可读性吗?

javascript - 将导航固定在滚动条上时如何防止 Chrome 闪烁?

c# - 停止网站在到期时重复使用 session ID

asp.net-mvc - 在 ASP.NET MVC Razor View 中将换行符替换为 <br/>

javascript - 三.js : add BloomEffect from Post processing

c# - 参数字典包含参数的空条目,但参数存在

c# - 上传图片asp.net Core