首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Html字符串从控制器传递给视图ASP.Net MVC

将Html字符串从控制器传递给视图ASP.Net MVC
EN

Stack Overflow用户
提问于 2014-04-01 17:18:26
回答 5查看 51.7K关注 0票数 25

这是在MVC中将Html字符串块从Controller传递到View的最佳方式。我想让它在页面加载时显示html块。谢谢。它可以是任何Html,例如

<table style="width:300px">
<tr>
  <td>Jill</td>
  <td>Smith</td> 
  <td>50</td>
</tr>
<tr>
  <td>Eve</td>
  <td>Jackson</td> 
  <td>94</td>
</tr>
</table>

我想把它作为字符串从控制器传递到视图。在那里它将显示为html。,谢谢你,

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-04-01 17:35:58

在您的控制器操作中:

ViewBag.HtmlStr = "<table style=\"width:300px\"><tr><td>Jill</td><td>Smith</td> <td>50</td></tr><tr><td>Eve</td><td>Jackson</td><td>94</td></tr></table>";

您的观点:

@Html.Raw(ViewBag.HtmlStr)
票数 56
EN

Stack Overflow用户

发布于 2014-04-01 17:20:32

您可以将控制器中的html赋值给ViewBag,并访问视图中的ViewBag以获取作为html的值

控制器

ViewBag.YourHTML = htmlString;

视图

<div> @ViewBag.YourHTML </div>

最好是而不是将html从控制器传递到视图,而不是将对象或对象集合传递给视图(强类型视图)并在视图中呈现html,因为这是视图的责任

控制器

public ActionResult YourView()
{
    //YourCode
    return View(entities.yourCollection.ToList());
}

查看

<table style="width:300px">
    foreach (var yourObject in Model)
    {
       <tr>
             <td>@yourObject.FirstName</td>
             <td>@yourObject.LasttName</td> 
             <td>@yourObject.Amount</td>
       </tr>      
    }

</table>
票数 7
EN

Stack Overflow用户

发布于 2014-04-01 17:36:36

最好的方法是创建一个局部视图,并将它返回的html附加到某个容器div内的父视图中。

在您的主视图中,如下所示:

<div>

    @{

    Html.RenderAction("youraction","yourcontroller")

     }

</div>

在您的操作中,执行以下操作:

public ActionResult youraction()
{
 return View();
}

和你的局部视图:

@{
Layout = null;
}

<table style="width:300px">
<tr>
  <td>Jill</td>
  <td>Smith</td> 
  <td>50</td>
</tr>
<tr>
  <td>Eve</td>
  <td>Jackson</td> 
  <td>94</td>
</tr>
</table>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22781548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档