C# Razor字符串与带有斜杠的HTML字符串的拼接

7

我有一个baseUrl = "http://localhost:10232";

我在视图中使用它,如下所示:

<a href='@mynamespace.Controllers.MyVars.baseUrl/Tickets/Create'>Create New</a>

它可以提供良好的输出,即

<a href='http://localhost:10232/Tickets/Create'>Create New</a>

但是,如果我在我的网址末尾添加/,如http://localhost:10232/

那么是否有一种方法可以产生与上述相同的结果? 我尝试了以下方式

<a href='@mynamespace.Controllers.MyVars.baseUrl+Tickets/Create'>Create New</a>

但是在HTML中不能使用连接运算符,那么我该如何实现(将C#变量与HTML字符串连接)?


1
你尝试过添加括号吗,像这样'@(mynamespace.Controllers.MyVars.baseUrl)Tickets/Create'? - elolos
请查看https://dev59.com/BHRC5IYBdhLWcg3wOOT1。 - dove
@elolos。正确答案。谢谢。 - Sami
1个回答

25

将其括在括号中,静态部分用引号括起来:

<a href='@(mynamespace.Controllers.MyVars.baseUrl+"Tickets/Create")'>Create New</a>
          ^                                       ^              ^^

这告诉 Razor 任何在 @() 内的内容都是一个语句,允许你放入 C# 来连接字符串。

或者,如果你最后一个部分始终是 静态 的,可以省略引号并将文本移出括号:

<a href='@(mynamespace.Controllers.MyVars.baseUrl)Tickets/Create'>Create New</a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接