javascript - 在 javascript block 中写入 asp.net 标记

标签 javascript asp.net-mvc

这是我的代码:

$(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>');
    });
});
});

错误 block '<%: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 block 中?

非常感谢你。

最佳答案

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

如果你只需要一个trim函数,为什么不使用jquery内置的trim函数呢?

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

关于javascript - 在 javascript block 中写入 asp.net 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602675/

相关文章:

c# - 如何解决引用网站的请求验证 token

javascript - 如何在css中只设置部分文本的样式

javascript - 检查 react 输入表单的小数并更改值

asp.net - 无法安装 ASP.NET MVC 3 RC

c# - 实现 asp.net mvc 聊天全双工

javascript - 文件名包含%符号导致无法下载

javascript - 对 SharePoint Rest API 的结果进行排序

javascript - Jquery-从每个节点删除第一个元素

javascript - date.getDate() 不是函数。 (在 'date.getDate()' 中, 'date.getDate()' 未定义)Ionic 3 中的 FullCalendar

c# - IHttpAsyncHandler.EndProcessRequest 中的 IAsyncResult 可能为 null 吗?