在CSHTML页面中,我使用@Html.TextArea
显示文字。现在我需要在该文本中创建一个链接。是否可以在TextArea中创建链接?
如果不可能,我可以用什么样的控件来显示带链接的文字?有任何建议请。
例如:
@Html.TextArea("MsgTxtBox","Messagewithlinkhere",new { readOnly = true, id = "MsgTxtBox" })
答案 0 :(得分:0)
是的,这是可能的,但你必须使用一些javascript并提供文本中只有一个链接。将javascript onclick事件函数添加到文本框中:
@Html.TextArea("MsgTxtBox","Messagewithlinkhere",new { readOnly = true, id = "MsgTxtBox", onclick="redirectToUrl()" })
现在确保文本中的链接被[link]之类的字符包围,这样您就可以将它们与文本分开。让我们说文本的价值是“你好[https://www.google.com]世界”
现在添加以下javascript:我们将获取第一个 [字符,然后是第二个] 的索引,并使用子字符串方法获取中间的字符串。请参阅link,然后使用window.location重定向到该链接。
<script type="text/javascript">
function redirectToUrl() {
var text = document.getElementById("MsgTxtBox").value;
var start = text.indexOf('[') + 1;
var end = text.indexOf(']', start);
var link = text.substring(start, end)
window.location = link;
}
</script>