gpt4 book ai didi

c# - 在 View 中显示动态创建的超链接

转载 作者:行者123 更新时间:2023-12-02 08:28:10 24 4
gpt4 key购买 nike

我需要在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com