小编Jef*_*tes的帖子

使用MVC渲染带有嵌入式Razor变量的动态HTML

我有一些编码的Html,其中嵌入了任意数量的1000个不同的Razor变量,我已经存储并需要从数据库中检索.我希望能够在MVC/razor视图中呈现它.

只是保存在数据库上的html的一个简单示例(它可能更复杂):

"<span>Your page is @Config.PageColour and you have page size of @Config.PageSize</span>"
Run Code Online (Sandbox Code Playgroud)

MessageController.cs

public ActionResult ShowMessage()
{
    var htmlToDisplay = _messageDAL.getHtmlMessage();
    var messageVm = new MessageVm
    {
        DisplayMessage = htmlToDisplay;
    };

    return View("Index.cshtml", "", messageVm);
}
Run Code Online (Sandbox Code Playgroud)

Index.cshtml

<html>
    @Html.Raw(@model.DisplayMessage)
</html>
Run Code Online (Sandbox Code Playgroud)

结果

当我运行它时,渲染页面如下所示:

您的页面是@ Config.PageColour,页面大小为@ Config.PageSize

但我希望它用html块解释Razor变量的值,看起来像这样:

您的页面是蓝色的,页面大小为A4

真的坚持这一点所以任何帮助将不胜感激!

html c# asp.net-mvc razor asp.net-mvc-4

6
推荐指数
1
解决办法
7124
查看次数

在 AngularJS Html 中渲染 Razor 变量

我在一些 Html 中嵌入了一个 Html 变量,我从数据库中检索到一个 AngularJS $scope 对象。然后我使用 ng-bind-html 指令在 MVC/razor 视图中呈现它。一个简单的例子如下:

myView.cshtml

<html>
  <body>
    <div ng-app="myApp" ng-controller="myCtrl">
      <p ng-bind-html="pageSizeHtml"></p>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的Ctrl.js

var myApp = angular.module('myApp', []);

myApp.controller('myCtrl', function($scope) {
    $scope.pageSizeHtml = '<div>Your page size is: @OurSystem.Configuration.PageSize</div>'
});
Run Code Online (Sandbox Code Playgroud)

当我运行它时,呈现的页面如下所示:

    Your page size is: @OurSystem.Configuration.PageSize
Run Code Online (Sandbox Code Playgroud)

但我希望它解释 Razor 变量的值,如下所示:

    Your default page size is: A4
Run Code Online (Sandbox Code Playgroud)

真的坚持这一点,所以任何帮助将不胜感激!

html asp.net-mvc razor angularjs

3
推荐指数
1
解决办法
6835
查看次数

标签 统计

asp.net-mvc ×2

html ×2

razor ×2

angularjs ×1

asp.net-mvc-4 ×1

c# ×1