2017-04-22 40 views
1

是否有方法通過相同的控制器動作一個接一個地顯示多個字符串?通過單個控制器動作在序列中呈現html

例如,我想在paraOne字符串加載並顯示在視圖上後顯示paraTwo字符串,在視圖上加載paraTwo之後的paraThree字符串等等。

Public ActionResult ChapterOne() 
{ 

string paraOne = "This is paragraph one "; 

string paraTwo = "This is paragraph two"; 

string paraThree = "This is paragraph three"; 

string paraFour = "This is paragraph four"; 

return View(); 

} 
+1

創建其持有的典範paraOne到paraFour字符串屬性。創建一個視圖並顯示您的段落...以您需要的順序 –

+0

@uɐpuɐɥƆ對於可傳遞給視圖的字符串大小是否有限制? – user793468

回答

0

通過Model.ParaList遍歷它創建一個model

public class Paragraph 
{ 
    public string paraOne { get; set; } 
    public string paraTwo { get; set; } 
    public string paraThree { get; set; } 
    public string paraFour { get; set; } 
} 

Action

public ActionResult ChapterOne() 
    { 
     var paragraph = new Paragraph 
     { 
      paraOne = "This is paragraph one ", 
      paraTwo = "This is paragraph two", 
      paraThree = "This is paragraph three", 
      paraFour = "This is paragraph four" 
     }; 
     return View(paragraph); 
    } 

View

@model Paragraph 

@{ 
ViewBag.Title = "Chapter One"; 
} 

<h2>Chapter One</h2> 

<p>@Model.paraOne</p> 
<p>@Model.paraTwo</p> 
<p>@Model.paraThree</p> 
<p>@Model.paraFour</p> 
+0

我們可以傳遞給控制器​​視圖的最大字符串大小是多少? – user793468

2

你可以使用List<string>如果您使用添加段落順序view

@model List<string> 

foreach (var paragraph in Model) 
    { 
     <p>@paragraph</p> 
    } 

var listparas= new List<string>(); 

listparas.Add("This is paragraph one "); 

listparas.Add("This is paragraph two"); 

listparas.Add("This is paragraph three"); 

listparas.Add("This is paragraph four"); 

return View(listparas); 

和視圖模型,你可以添加

public List<string> ParaList { get; set; } 

,你可以在foreach

+0

是否有限制我們可以傳遞給控制器​​視圖的字符串大小? – user793468

+0

@ user793468它沒有限制 – Usman

+0

我問,因爲字符串是巨大的(總長度超過40K),並且IE在大約3分鐘的加載後掛起。任何關於如何渲染如此大的HTML的建議/想法? – user793468

相關問題