如何添加' n'动态控制到asp.net MVC5中的视图?

时间:2016-05-23 06:40:08

标签: c# asp.net asp.net-mvc asp.net-mvc-5

我是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>&nbsp;<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>&nbsp;<img width='1px' src='@url?wa=wsignoutcleanup1.0' "+" title='Signout request: @url?wa=wsignoutcleanup1.0' /></p>
                }

            </div>

        </div>
</body>

在View中,在foreach循环中,我收到错误:

  

名称&#39; url&#39;在当前的背景下不存在。

1 个答案:

答案 0 :(得分:0)

正如Stephen建议的那样,您应该为模型添加List<string>属性并在视图中使用它:

@foreach(string s in Model.YourList){
    <p>
    Your text here...use the string like: @s whenever required
    </p>
}