- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 Controller 中创建未指定数量的超链接对象,然后在 View 中显示它们。我在 HomeController.cs 中动态创建超链接对象没有问题,但是我无法让所述超链接对象在 View 中正确显示。
这是创建超链接的代码,将它们放入列表中,然后将该列表添加到 ViewBag
List<HyperLink> links = new List<HyperLink>();
List<HyperLink> tempLink = new List<HyperLink>();
string line = "";
output = "";
while (!p.StandardOutput.EndOfStream)
{
line = p.StandardOutput.ReadLine();
output += "\n" + line;
if (!line.Equals(""))
{
tempLink = GetLineNumbers(line, destpath);
if (tempLink.Count > 0)
{
links.AddRange(tempLink); // HYPERLINKS ADDED TO LIST HERE
}
else
continue;
}
}
ViewBag.links = links; // LIST OF HYPERLINKS ADDED TO VIEWBAG HERE
这是我 View 中的代码:
<h2> RESULTS </h2>
<article>
<pre>
@for (int i = 0; i < ViewBag.links.Count; i++)
{
@ViewBag.links[i] //HYPERLINKS SUPPOSED TO BE DISPLAYED HERE
}
</pre>
</article>
当前 View 显示的内容是:
System.Web.UI.WebControls.HyperLinkSystem.Web.UI.WebControls.HyperLinkSystem.Web.UI.WebControls.HyperLinkSystem.Web.UI.WebControls.HyperLinkSystem.Web.UI.WebControls.HyperLinkSystem.Web.UI.WebControls.HyperLink
当然,我想要那些漂亮的、蓝色的、带下划线的超链接,但情况似乎并非如此。我是 ASP.NET 菜鸟,如果有任何帮助,我将不胜感激。感谢您抽出时间。
最佳答案
不直接回答您的问题,但这对您来说是一个更易于管理的解决方案:
为什么不构造一个类似这样的类:
public class DynamicHyperLink
{
public string Text { get; set; }
public string Link { get; set; }
}
然后,您可以将要显示的文本应用到文本属性,并将链接应用到链接属性
完成此操作后,在 Controller 中将其作为模型传递到 View ,如下所示:
public ActionResult DynamicLinks()
{
List<DynamicHyperLink> model = new List<DynamicHyperLink>()
{
new DynamicHyperLink(){
Text = "Some Text Here",
Link = "http://www.somelink.com"
},
new DynamicHyperLink(){
Text = "Some Other Text ",
Link = "http://www.someotherlink.com"
}
};
return View(model);
}
显然,您希望使用您的函数在 Controller 之外构建它,但给您一个想法,然后在 View 中:
@model List<DynamicHyperLink>
@{
ViewBag.Title = "DynamicLinks";
}
<h2>DynamicLinks</h2>
@if (Model != null && Model.Count > 0)
{
foreach (var item in Model)
{
<div>
<a href="@item.Link">@item.Text</a>
</div>
}
}
这将为您生成链接,然后如果您想添加自定义样式的链接,您可以将其添加为附加属性。
希望这对您有所帮助,如果您需要更多信息,请告诉我。
关于c# - 在 View 中显示动态创建的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27140027/
我是一名优秀的程序员,十分优秀!