2017-06-12 17 views
-1

ホームページのタイプビューで1つのビューのプレビューを行いたいと思います。これを行うには、私はListPreviewsアクションを呼びたいと思います。このアクションでは、指定されたビューのhtml本文を取得し、最初の100文字程度を取得します。コントローラからのhtmlビューの取得 - .NET MVC

コントローラからビューの実際のhtmlにアクセスするにはどうすればよいですか?

+0

あなたは私を聞かせてくださいすることができ私があなたをさらに助けてくれることを知っていますか – kblau

答えて

0

これは簡単なはずです。あなたのRouteConfig.csで は、デフォルト値を設定し、鉱山は、次のようになります。あなたのビューのために

public class AView 
{ 
    public string theHtml { get; set; } 
} 

public class HomeController : Controller 
{ 
    [HttpPost] 
    public ActionResult Index2005(AView AView) 
    { 
     //put breakpoint here to see all the <html> here in view 
     var result = HttpUtility.UrlDecode(AView.theHtml, System.Text.Encoding.Default); 
     return Json(new 
     { 
      Greeting = "Returning data not used" 
     } 
     , @"application/json"); 
    } 

:あなたのコントローラ/モデルについて

defaults: new { controller = "Home", action = "Index2006", id = UrlParameter.Optional } 

<!DOCTYPE html> 
<html id="PassMe"> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>Index2005</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $(".btn").click(function() { 
       var AView = { theHtml: escape($("#PassMe").html()) }; //JSON.stringify($("#PassMe").html()) 
       $.ajax({ 
        url: '/Home/Index2005', 
        type: 'POST', 
        data: AView, 
        success: function (result) { 
         $("#detail").append(result.Greeting); 
        }, 
        error: function (result) { 
         alert('Error'); 
        } 
       }); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <button style="margin-bottom: 20px;" class="btn btn-default">Click to pass HTML</button> 
</body> 
</html> 
+0

@bchattdeveloperどうすればよろしいですか? – kblau

関連する問題