从 C# 中的变量中删除双引号 [关闭]

Posted

技术标签:

【中文标题】从 C# 中的变量中删除双引号 [关闭]【英文标题】:remove double quotes from variable in C# [closed] 【发布时间】:2018-10-03 08:43:26 【问题描述】:

这是我的 MVC 代码:

public JsonResult GetRemix()

        List<Intractive_ReMixList_ForScreenShot> employee = new List<Intractive_ReMixList_ForScreenShot>();
        string query = string.Format("Select * From Intractive_ReMixList_ForScreenShot where LoginDetailsRowId=80136");
        SqlConnection connection = new SqlConnection(@"Data Source=ITALIAGRP_DATA\DATASERVER;Initial Catalog=StorageManagerNew;User ID=internal;Password=c@rlos150915; Timeout=30000");
        
            using (SqlCommand cmd = new SqlCommand(query, connection))
            
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                
                    employee.Add(
                        new Intractive_ReMixList_ForScreenShot
                        

                            ChipID = int.Parse(reader["ChipID"].ToString()),

                            ImageName =(reader["ImageName"].ToString()),
                            RandNo = int.Parse(reader["RandNo"].ToString())
                        
                    );
                
            

            return Json(employee, JsonRequestBehavior.AllowGet);
        
    

这是员工对象的图像:

我想从ImageName 中删除双引号。在上图中,该值采用双引号形式 - 如何删除它?

这里是调用action方法的jQuery代码:

 $.ajax(             
            url: "Home/GetRemix",
            data: "",
            dataType: "json",
            success: function (data) 

                debugger;
                var rows;
                for (var i = 0; i < 15; i++) 
                    var row = $('<tr style="height:30px;width:30px;"></tr>').appendTo(mytable);
                    $.each(data, function (k, item) 

                        debugger;
                        for (var j = 0; j < cols;) 
                            debugger;
                            $('<td style="border:2px solid #FFF;"><img class="slide" style="width:30px; height:30px;" id="img' + item.RandNo + '" src=img/tiles/"' +item.ImageName+ '"></td>').appendTo(row);
                           j++;
                        
                    );

               // $('#TableID tbody').append(rows);
                mytable.appendTo("#TableID");
                       
            ,
            error: function (data) 
                debugger;
                alert('error');
            
        );    

在这个 jQuery 代码中,item.ImageName 给出了一个错误,因为引号 - 在路径中找不到图像,只是因为双引号。

有人知道解决办法吗?

【问题讨论】:

图片名称中没有双引号。实际上是 Visual Studio 显示双引号,因为它是字符串。 我一直不明白为什么人们在尝试理解自己的代码(以及本例中的工具)之前,会努力在 SO 上发帖...... 我投票决定将此问题作为题外话结束,因为这是另一个“C# 中的引用”问题,正在寻找不存在的问题的解决方案。 请有人校对您的问题。完全无法理解。 【参考方案1】:

该错误不在服务器端或与 Visual Studio 或 .NET 相关的任何内容(字符串有引号,这就是它们的编写方式,因此它们是在调试器中显示的方式),而是在你的 JS 代码:

src=img/tiles/"' +item.ImageName+ '"

在错误的位置添加引号,并产生无效的 html 元素。

这个简单的演示通过显示代码生成的不正确 HTML 来说明问题:

var item =  "ImageName": "9714_1_4", "RandNo": 1;
var str = '<td style="border:2px solid #FFF;"><img class="slide" style="width:30px; height:30px;" id="img' + item.RandNo + '" src=img/tiles/"' +item.ImageName+ '"></td>';

alert(str);

要解决此问题,您只需将代码中的双引号移动到您为“src”属性定义的值的开头,以便整个路径包含在引号中(从而成为有效属性):

src="img/tiles/' +item.ImageName+ '"

var item =  "ImageName": "9714_1_4", "RandNo": 1;
var str = '<td style="border:2px solid #FFF;"><img class="slide" style="width:30px; height:30px;" id="img' + item.RandNo + '" src="img/tiles/' +item.ImageName+ '"></td>';

alert(str);

当然,您的图像名称可能还需要一个文件扩展名(例如“.jpg”或其他名称)以使其指向服务器上的实际文件,但这是一个单独的问题。

【讨论】:

虽然这似乎是正确的答案,但我通常不鼓励回答明显不好的问题,或者说直白点:这个问题不值得回答。关于它的一切都很糟糕,得到答案不会鼓励作者在下次他们想问什么时做得更好。相反,如果您还没有,我建议您对这个问题投反对票。 @ManfredRadlwimmer 我不同意。确实语法不是很好(我认为这只是由于语言障碍,友好的编辑可以帮助解决这个问题),但是显示了代码,“问题”的图片,以及几乎可以理解的描述出了什么问题。问题由此可诊断。我见过更糟糕的。这个问题可能与 OP 的假设完全无关,他们可能误解了他们使用的工具的性质以及有关字符串变量的一些基础知识,但希望他们能从中学到一些东西。

以上是关于从 C# 中的变量中删除双引号 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在php中删除从json “x”:“y”到x:y的双引号[关闭]

如何删除单引号并将双引号放在javascript中的对象数组中[关闭]

如何从回显语句中删除双引号 [关闭]

如何从 JavaScript 变量中删除第一个和最后一个双引号?

从json响应swift中删除数组中的双引号

使用javascript从字符串中删除双引号[重复]