0

这是我的代码:

$(document).ready(function () {
var url = '<%: Url.Content("~/") %>' + "Home/Gallery";
$.getJSON(url, function (newProduct) {
    var contentNewProduct = $("ul.ei-slider-large");
    var smallNewProduct = $("ul.ei-slider-thumbs");
    $.each(newProduct.ja, function (index, data) {
        contentNewProduct.append('<li><img src="' + '<%:Web.HelperClasses.HelperClass.CheckImageUrlExist("' + data.PictureName10 + '")%>' + '" alt="image" /><div class="ei-title"><span class="productName">' + data.Name + '</span><span class="productPrice">' + data.Price + '</span><span class="productSpec"><br /><br />"' + '<%:Web.HelperClasses.HelperClass.TrimString(' + data.Notes + ',2)%>' + '"</span><span><a href="#" class="readmore">Read more...</a></span>' + '</div></li>');
    });
});
});

错误块'<%:Web.HelperClasses.HelperClass.TrimString(' + data.Notes + ',2)%>',错误是Too many characters in character literal

这是函数的形式: TrimString(string s,int total)

我试图更改为'<%:Web.HelperClasses.HelperClass.TrimString("' + data.Notes + '",2)%>',但它仍然没有工作。

这是 c#TrimString函数:

public static string TrimString(string str, int lenght)
{
string _str = str;
int _iAdditionalLenght = 0;
for (int i = lenght; i < str.Length; i++)
{
    if (_str.Substring(i, 1) == " ")
        break;
    _iAdditionalLenght++;
}
return str.Substring(0, str.Length < (lenght + _iAdditionalLenght) ? str.Length : (lenght + _iAdditionalLenght));
 }

这是我在 javascript 中尝试过的,但没有奏效:

function TrimString(str, lengthStr) { 
  var _str = str;
  var _iAdditionalLenght = 0;
  for (var i = lengthStr; i < str.length; i++)
  {
      if (_str.substring(i, 1) == " ")
        break;  
      _iAdditionalLenght++;
  }

  return str.substring(0, str.length < (lengthStr + _iAdditionalLenght) ? str.length : (lengthStr + _iAdditionalLenght));
 }

谁能告诉我如何TrimString在我的 javascript 块中编写这个函数?

非常感谢。

4

1 回答 1

2

如果我猜对了你在做什么,你就是不能。js在客户端执行,aspnet在服务器端执行。您不能使用 js 创建 aspnet 标签,因为它们需要在服务器端编译和执行。

如果你只需要一个修剪功能,为什么不使用jquery内置的修剪功能呢?

http://api.jquery.com/jQuery.trim/

于 2012-09-26T13:22:45.587 回答