razor 在onclick里需要输出带有换行的字符串怎么办?

现有代码想实现页面内编辑功能,其中编辑按钮要填充弹出对话框的textarea,发现数据有回车换行时无法正常显示:
onclick="editItem('@item.jd_no','@item.p_day')"
这里p_day可能有换行,导致onclick没正常结束.
这里恐怕换成Raw输出也不行吧?该怎么整?

阅读 5.4k
2 个回答

使用 System.Web.HttpUtility.JavaScriptStringEncode() 方法

@using System.Web;

@HttpUtility.JavaScriptStringEncode(item.p_day);

可以试一下把 @item.p_day 中的换行符替换掉,比如:

onclick="editItem('@item.jd_no','@(item.p_day).Replace("\r\n").Replace("\n","")')"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题