C#ASP.net,使用字符串变量存储和编写HTML
我有一个表单,用户可以在其中输入YouTube视频的url。我的代码解析url并创建存储在数据库中的嵌入字符串。这看起来像:C#ASP.net,使用字符串变量存储和编写HTML,c#,html,asp.net-mvc,string,C#,Html,Asp.net Mvc,String,我有一个表单,用户可以在其中输入YouTube视频的url。我的代码解析url并创建存储在数据库中的嵌入字符串。这看起来像: string rawQuery = uri.Query; int index = rawQuery.IndexOf("?"); if (index > 0) rawQuery = rawQuery.Substring(index).Remove(0, 1); id = HttpUtility.ParseQueryString(rawQ
string rawQuery = uri.Query;
int index = rawQuery.IndexOf("?");
if (index > 0)
rawQuery = rawQuery.Substring(index).Remove(0, 1);
id = HttpUtility.ParseQueryString(rawQuery).Get("v");
string embedURL = "<iframe width=\"640\" height=\"360\" src=\"http://www.youtube.com/embed/" + id + "\" frameborder=\"0\" allowfullscreen></iframe>";
如何打印此字符串,使其不会转义引号和小于/大于符号?我认为您应该使用
@Html.Raw(string)
例如,如果使用ViewBag在视图中输出字符串,请使用
@Html.Raw(ViewBag.EmbedURL)
这会告诉框架不要对字符串进行编码只有当您在页面中写入字符串时,它才会被编码。使用
服务器标记输出字符串而不进行编码:
<%= embedURL %>
然后您可以将其正常输出:
<%: html %>
您还可以使用Html.Raw
方法将其包装在HtmlString
对象中:
@Html.Raw(embedURL)
<%: html %>
@html
@Html.Raw(embedURL)