[英]How to add 'n' literal control to a view in asp.net MVC5 dynamically?
我是MVC的新手,對它有基本的了解。
我必須通過代碼(使用c#)動態地在view.cshtml中添加文字控件n次。 在aspx.cs中,我們可以像這樣執行
string[] url= SingleSignOnManager.SignOut();
foreach (var obj in url)
{
this.LogoutPanel.Controls.Add(new LiteralControl(String.Format("<p><a href='{0}'></a> <img width='1px' src='{0}?wa=wsignoutcleanup1.0' " + "title='Signout request: {0}?wa=wsignoutcleanup1.0'/></p>", obj)));
}
我懷疑文字是否在MVC中可用。如何在MVC視圖和控制器中做到這一點?
編輯:我創建了一個模型類Url,在控制器和視圖中添加了代碼。
模型-Url.cs
public class Url
{
public string[] signedInUrls { get; set; }
}
控制器-ReedController.cs
.
.
.
url = new Url()
{
signedInUrls = SingleSignOnManager.SignOut()
};
查看:sample.cshtml
<html>
<head></head>
<body>
<div id="main">
<div id="Panel">
@model AppOne.Models.Url
foreach (string url in Models.Url)
{
<p><a href='@url'></a> <img width='1px' src='@url?wa=wsignoutcleanup1.0' "+" title='Signout request: @url?wa=wsignoutcleanup1.0' /></p>
}
</div>
</div>
</body>
在視圖中,在foreach循環中,我得到了錯誤:
名稱“ url”在當前上下文中不存在。
正如Stephen所建議的,您應該在模型中添加List<string>
屬性,並在視圖中使用它:
@foreach(string s in Model.YourList){
<p>
Your text here...use the string like: @s whenever required
</p>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.