【发布时间】:2022-01-20 15:26:30
【问题描述】:
我想通过从数据库中获取名称来动态更改标题标签。此内部数据库已在同一个表中包含名称和 ID,但我遇到了问题。
我想做的是从 Url Path 中获取 QRLinkCode,然后返回与该 QRLinkCode 关联的名称以填充视图源中的标题元标记。
这是我到目前为止写的。
public class PageMetaDetails
{
public static string UpdateMetaDetails (string urlpath)
{
//--- StringBuilder object to store MetaTags information.
StringBuilder sbMetaTags = new StringBuilder();
//--Step1 Get data from database.
using (TemplateDBEntities db = new TemplateDBEntities())
{
var qrLinkName = "";
if (urlpath.StartsWith("/ItemList"))
{
//get qrLink code out of the url
var qrLinkId = urlpath.Substring(urlpath.Length - 6);
//hit the database for this qr link by id
var qrLink = db.QRLinks.FirstOrDefault(x => x.QRLinkCode == qrLinkId);
qrLinkName = qrLink.Name;
}
//---- Step2 In this step we will add <title> tag to our StringBuilder Object.
//sbMetaTags.Append(qrLinkName);
//sbMetaTags.Append(Environment.NewLine);
return qrLinkName;
}
}
}
在这之间会有代码,这就是为什么它不存在 是额外的{},但我只想先让这部分工作。
我在 Layout.cshtml 下面也有这个,用于将名称路由到标题元标记。
<title>
@{string title = Url.RequestContext.RouteData.Values["controller"] + "/" + Url.RequestContext.RouteData.Values["action"];
@(Html.Raw(Models.PageMetaDetails.UpdateMetaDetails(title)));} </title>
由于某种原因,它没有返回与 ID 关联的名称。如果有人有任何想法,请告诉我哪里出错了。
【问题讨论】:
-
你试过一步步调试吗?有错误提示吗?
-
我已经尝试了逐步调试并且没有收到任何错误消息。这就是我如此困惑的原因。
-
我有点想知道剃刀页面是否编码错误,或者我是否没有正确路由到 url 路径。
标签: c# asp.net visual-studio model-view-controller