我是MVC的新手,对它有基本的了解。
我必须通过代码动态地在view.cshtml中添加一个文字控件n次(使用c#)。 在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; }
}
Controller - 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>
在View中,在foreach循环中,我收到错误:
名称&#39; url&#39;在当前的背景下不存在。
答案 0 :(得分:0)
正如Stephen建议的那样,您应该为模型添加List<string>
属性并在视图中使用它:
@foreach(string s in Model.YourList){
<p>
Your text here...use the string like: @s whenever required
</p>
}