nic*_*wdy 1 html stringbuilder view asp.net-mvc-3
在我看来,我循环遍历我的模型并构建html以显示在页面上.我正在用stringbuilder和if/else条件构建这个html.
我试图将此字符串渲染为html但我一直卡住了.
这是代码:
@model UserManager.Models.vw_UserManager_Model
<div id="success-message">
<fieldset>
<legend><b>@ViewData["Action"]</b> </legend>
<!-- User created -->
<div id="content">
@Html.Raw("some test string");
@{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
int i = 0;
sb.Append("<ul>");
foreach (var item in Model)
{
string s = item.ToString();
if (s == "," && i != 1)
{
// When it finds first delimiter, start building the string
i = 1;
sb.Append("<li>");
}
else if (s == "," && i == 1)
{
// When it finds first delimiter, start building the string
sb.Append(" : ");
}
else if (i == 1 && s != "/")
{
// Contine building the string
sb.Append(s);
}
else if (s == "/")
{
// End current list item and set i to 0. This will start the next li sequence
sb.Append("</li>");
i = 0;
}
else
{
// Do nothing in the loop
}
}
sb.Append("</ul>");
var str = MvcHtmlString.Create(sb.ToString());
}
</div>
</fieldset>
</div>
Run Code Online (Sandbox Code Playgroud)
SB的内容
{<ul><li>firstname : sdlmsdm</li><li>lastname : smsd</li><li>salutation : Mr</li><li>password : ksklsd</li><li>email : sdkm@as.com</li><li>userName : sdkmsdmke</li><li>MaxConcurrentUsers : 0</li><li>group_name : [PIAS] UK LTD</li><li>module_name : Connect:Top 1000 Advertisers</li><li>isactive : True</li><li>IsApproved : False</li><li>alf : True</li><li>brad : False</li><li>selected_moduleAlf : Connect:Top 1000 Advertisers : System.String : selected_moduleBrad : false : </ul>}
Run Code Online (Sandbox Code Playgroud)
这段代码完成调试后,我看不到HTML的任何内容.有人有答案吗?
这是因为你没有写它.你需要这样做@Html.Raw(str):
sb.Append("</ul>");
var str = new HtmlString(sb.ToString());
@Html.Raw(str)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7978 次 |
| 最近记录: |